-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
Generated from the repo's README by
scripts/sync-wiki.sh. Edit the README, not this page.
Small repo, strict rules. Read CLAUDE.md first — it is the rulebook for humans too. Working from Codex or Gemini CLI? AGENTS.md / GEMINI.md point at it and list the harness differences.
git clone https://github.com/kyuna0312/context_forge.git && cd context_forge
claude --plugin-dir "$PWD" # load in place; no install needed while developing
node --test # the whole suite, zero dependencies (node ≥ 18)Needs python3 (hook + status line), node ≥ 18 (tests only), and the claude CLI for claude plugin validate . --strict.
main is protected: no direct pushes, every change lands through a pull request with CI green on Ubuntu and macOS (bash 3.2, BSD coreutils — the primary user platform).
git checkout -b my-change
# …edit…
node --test && claude plugin validate . --strict
git commit # message: what + why, present tense
gh pr create --fillSquash or merge, your call; keep history linear.
-
skills/<bucket>/<name>/SKILL.md—name:equals the directory name;description:≤ 30 words with triggers and an anti-trigger ("Not for…"). - Register it in three places or the tests fail:
plugin.jsonskills, the bucketREADME.md, the top-level README table. - Harness-neutral prose: "the agent instruction file (
CLAUDE.md/AGENTS.md/GEMINI.md)". Claude-Code-only? Start the description withClaude Code only. - Writes user config? Add
disable-model-invocation: trueand drop the trigger list — it must never fire on a phrase match. - Big reference material goes in
references/(loads on demand), never in the body.
- Every JSON parses; every
.shpassesbash -nand shellcheck. -
hooks.jsonuses only real events and$CLAUDE_PLUGIN_ROOTpaths that exist. -
CLAUDE.mdstays under 600 words — the hook's own warning threshold. - Session-start hook prints nothing to stdout unless a file is over threshold.
- Status line colour thresholds (50/75/90 %, 390/780/1300 tokens) match the README.
- Only documented
settings.jsonkeys. Verify against the official docs before writing one down. - Token numbers are estimates (words × 1.3). Say so; never present them as measured.
- Every command written into docs must exist and pass. No
npm test, nopytest. - A deliberate corner-cut gets a
ponytail:comment naming the ceiling and the upgrade path.
Bump version in both .claude-plugin/plugin.json and .claude-plugin/marketplace.json, add a CHANGELOG.md entry, tag vX.Y.Z. Installed users only see an update when the version changes.
The GitHub wiki is generated from the README: bash scripts/sync-wiki.sh. Edit the README, never the wiki.