-
Fork the repo and create a branch from
main. -
Install dependencies:
npm install
-
Run the validation gate before and after your change:
npm run validate
This runs compile → type-check → docs → tests. All must pass.
-
Press
F5to launch the Extension Development Host and smoke-test interactively.
See CLAUDE.md for the full module map and AGENTS.md for the authoritative routing document.
| Concern | File(s) |
|---|---|
| Extension source | src/ |
| Tests | test/ |
| Prompt templates | prompt-templates/ |
| Architecture docs | docs/ |
- Keep docs in sync with code in the same PR.
- Run
npm run check:docsto catch doc/architecture drift. - Prefer updating the focused doc that owns a rule over restating it elsewhere.
- Use
git add <specific-files>rather thangit add ..
Any PR that adds, removes, or modifies a ralphCodex.* configuration setting must verify all three surfaces stay aligned:
- Manifest —
package.jsoncontributes.configuration.propertiesentry has the correctdefault,type,enum(if applicable), anddescription. The description must state the actual default value and must not contain "reserved for future use" if the feature is implemented. - Runtime defaults —
src/config/defaults.tsDEFAULT_CONFIGandsrc/config/readConfig.tsproduce the same effective default as the manifest. - Operator docs —
docs/workflows.md(or the focused doc that owns the feature) describes the setting with an explicit maturity marker (stable,beta, orexperimental) when the feature is non-trivial.
npm run check:docs enforces a subset of these rules automatically (config-default drift and description-default contradiction detection). Reviewers should still verify the docs narrative matches the implementation.
Open an issue on GitHub with a clear description of the problem and steps to reproduce. Include your VS Code version, extension version, and the relevant entry from .ralph/logs/extension.log if available.
By contributing you agree your changes will be licensed under the MIT License.