بنقرة واحدة
add-package
Add a new Emacs package to this doom config — packages.el declaration, config.org section, and doom sync
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Add a new Emacs package to this doom config — packages.el declaration, config.org section, and doom sync
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | add-package |
| description | Add a new Emacs package to this doom config — packages.el declaration, config.org section, and doom sync |
| argument-hint | <package-name> [description of what you want it to do] |
| allowed-tools | Read, Edit, Grep, Bash |
Full workflow to add a new package to this doom emacs config.
config.el — it is auto-generated. All config goes in config.org.pipboy/~/.config/emacs/bin/doomAlways check this first — prefer enabling a module over a manual package!.
grep -rl "$0" ~/.config/emacs/modules/*/*/README.org
ls ~/.config/emacs/modules/*/ | grep -i "$0"
If a module exists, use the doom-module skill to read its README and enable it in init.el instead of proceeding here.
Also grep packages.el and init.el to check if it's already declared:
Grep packages.el and init.el for: $0
packages.elAppend a (package! ...) form. Use the simplest form that works:
;; From MELPA (most packages):
(package! package-name)
;; Pinned to a commit:
(package! package-name :pin "COMMIT-SHA")
;; From a git repo not on MELPA:
(package! package-name
:recipe (:host github :repo "user/repo"))
;; Disabled (override doom default):
(package! package-name :disable t)
config.orgFind the appropriate section heading (UI, Languages, Tools, Workflows, etc.) and insert a new subheading.
Documentation is required — every section must include prose above the source block:
** Package Name
One sentence: what this package does and why it's here.
Link to upstream if non-obvious: [[https://github.com/user/repo][package-name]]
Requirements (env vars, external tools, first-run steps) if any.
| Key | Action |
|-----------+---------------|
| =SPC x y= | does the thing |
#+begin_src emacs-lisp
(use-package! package-name
:after some-dep ;; if needed
:config
(setq package-name-option value)) ;; comment only if non-obvious WHY
#+end_src
Conventions:
use-package! (doom's version), not plain use-package:defer t or :after when possible:config using (map! ...) or as a separate map! blockUse the doom-sync skill or run:
~/.config/emacs/bin/doom sync 2>&1
M-x doom/reload or restart EmacsRun static analysis and byte-compile checks on the Doom config without opening Emacs
Systematically debug a doom emacs issue — errors, broken packages, slow startup, keybinding conflicts
Look up a Doom Emacs module's documentation, flags, and packages before configuring anything manually. Use this when the user asks about adding a feature, package, or integration to Doom.
Run doom sync after config changes and diagnose any errors
Update doom emacs and/or packages — runs doom upgrade, handles errors, summarizes what changed
Expert Emacs Lisp programmer and Doom Emacs architect. Use when writing custom packages, configuring complex behaviors, debugging elisp, designing abstractions, or any task that requires deep Emacs/Doom knowledge.