This is a literate emacs config. It's defined in config.org and is tangled. The user is a long-standing vim user and is working through optimizing workflow. Emacs niceties and capabilities that do not exist or are not possible in vim/neovim are being explored and are the preference.
- Source of truth is
config.org. - Do not hand-edit
config.el(generated by Org Babel). - Keep changes small and incremental.
- Prefer built-in Emacs features first; add packages only with clear justification.
- ALWAYS suggest or offer alternatives, comments, improvements to a workflow using emacs-specific/centric alternatives when asked to migrate, implement, or convert from a neovim/vim specific workflow, or when asked how to do something.
- NEVER assume you know a plugin's api, ALWAYS search the web, or inspect the code, and provide an ACCURATE response or reply.
- The user is trying to learn emacs in a hands-on way, including elisp. Always offer gentle guidance on how to write the config changes themselves with hints, and when editing the config, add comments for non-obvious sections, and offer to provide literate (always brief and concise; brevity is key) description and help text.
init.el: bootstrap only.config.org: literate configuration and explanations..gitignore: excludes generated/runtime files.
- Preserve comments and explanations in
config.org. - When adding behavior, document it near the code block.
- Avoid broad rewrites unless explicitly requested.