/commit-claude-config
Un-ignore and commit the kit config dir, instruction file, .mcp.json, .gitmodules, policy
> /plugin marketplace add solanabr/ai-kit> /plugin install solana-ai-kit@stbr
Command definition
commit-claude-config.mddescription: "Un-ignore and commit the kit config dir, instruction file, .mcp.json, .gitmodules, policy"
disable-model-invocation: true
`install.sh` gitignores the kit config by default, in a marked `.gitignore` block covering the config dir (`.claude/`, or `.agents/` in `--agents` installs), `.mcp.json`, `.gitmodules` and, in Claude Code installs, `.safe-ai-skill/` (the safe-ai-skill project policy). The instruction file (`CLAUDE.md`, or `AGENTS.md`) is left out of the block in both modes, since Grok Build skips an instruction file that `.gitignore` lists, but the commit below still includes it. This command opts the project in, so the config travels with the repo: a teammate who clones it gets the policy without running `install.sh`. The `ext/` skill submodules stay ignored: they are upstream content, and tracking `.gitmodules` is enough for a `--recurse-submodules` clone to repopulate them.
Steps
1. **Preflight.** Stop unless inside a git work tree, and tell the user to run `git init` first. Resolve both names for the install mode; with neither config dir there is nothing to commit.
CONFIG_DIR=$( [ -d .claude ] && echo .claude || echo .agents )
INSTR_FILE=$( [ "$CONFIG_DIR" = .claude ] && echo CLAUDE.md || echo AGENTS.md )
2. **Un-ignore.** Remove the marked block and leave the `ext/` and local-only sections alone. Writing through a temp file keeps it portable across GNU and BSD sed; `mktemp` makes it outside the repo, where a cloned repo cannot plant a link at its name. If the block is already gone, continue.
if [ -f .gitignore ] && grep -qF ">>> solana-ai-kit config" .gitignore; then
tmp="$(mktemp)" && sed '/# >>> solana-ai-kit config/,/# <<< solana-ai-kit config <<</d' .gitignore > "$tmp" \
&& cat "$tmp" > .gitignore && rm -f "$tmp"
fi3. **Stage.** Since `ext/` is still ignored, this records agents, commands, skills and settings but not the submodule trees.
git add .gitignore 2>/dev/null || true
for p in .gitmodules "$INSTR_FILE" .mcp.json .safe-ai-skill "$CONFIG_DIR"; do [ -e "$p" ] && git add "$p"; done
git diff --cached --name-status
4. **Confirm.** If nothing is staged (`git diff --cached --quiet`), report that the config is already tracked and stop. Otherwise show the staged list and wait for the user's go-ahead. 5. **Commit:** `git commit -m "chore: track Solana AI Kit config"`. Any `.git/hooks/pre-commit` runs as usual.
Notes
- To go back to ignoring the config, re-run `install.sh` (it re-adds the block only if absent), or run `git rm --cached -r .claude .mcp.json .gitmodules .safe-ai-skill` (`git rm --cached -r .agents .mcp.json .gitmodules` in `--agents` installs) and restore the `.gitignore` lines. Leave the instruction file tracked either way, so Grok Build still reads it.
- Committing the config redistributes what it holds. `anthropic-skills` is a core pack, so `$CONFIG_DIR/skills/anthropic-skills.lock` is normally present: the skill folders it lists are Anthropic's, under Apache-2.0 rather than the kit's MIT, so name them in the confirmation and keep each folder's `LICENSE.txt` with it.
- To version the `ext/` submodules as well (rarely needed; they are large upstream trees), remove the `$CONFIG_DIR/skills/ext/` line from `.gitignore` and run `git submodule update --init` so real gitlinks exist before `git add`.
Read more
description: "Un-ignore and commit the kit config dir, instruction file, .mcp.json, .gitmodules, policy" disable-model-invocation: true
`install.sh` gitignores the kit config by default, in a marked `.gitignore` block covering the config dir (`.claude/`, or `.agents/` in `--agents` installs), `.mcp.json`, `.gitmodules` and, in Claude Code installs, `.safe-ai-skill/` (the safe-ai-skill project policy). The instruction file (`CLAUDE.md`, or `AGENTS.md`) is left out of the block in both modes, since Grok Build skips an instruction file that `.gitignore` lists, but the commit below still includes it. This command opts the project in, so the config travels with the repo: a teammate who clones it gets the policy without running `install.sh`. The `ext/` skill submodules stay ignored: they are upstream content, and tracking `.gitmodules` is enough for a `--recurse-submodules` clone to repopulate them.
Steps
1. **Preflight.** Stop unless inside a git work tree, and tell the user to run `git init` first. Resolve both names for the install mode; with neither config dir there is nothing to commit.
CONFIG_DIR=$( [ -d .claude ] && echo .claude || echo .agents ) INSTR_FILE=$( [ "$CONFIG_DIR" = .claude ] && echo CLAUDE.md || echo AGENTS.md )
2. **Un-ignore.** Remove the marked block and leave the `ext/` and local-only sections alone. Writing through a temp file keeps it portable across GNU and BSD sed; `mktemp` makes it outside the repo, where a cloned repo cannot plant a link at its name. If the block is already gone, continue.
if [ -f .gitignore ] && grep -qF ">>> solana-ai-kit config" .gitignore; then
tmp="$(mktemp)" && sed '/# >>> solana-ai-kit config/,/# <<< solana-ai-kit config <<</d' .gitignore > "$tmp" \
&& cat "$tmp" > .gitignore && rm -f "$tmp"
fi3. **Stage.** Since `ext/` is still ignored, this records agents, commands, skills and settings but not the submodule trees.
git add .gitignore 2>/dev/null || true for p in .gitmodules "$INSTR_FILE" .mcp.json .safe-ai-skill "$CONFIG_DIR"; do [ -e "$p" ] && git add "$p"; done git diff --cached --name-status
4. **Confirm.** If nothing is staged (`git diff --cached --quiet`), report that the config is already tracked and stop. Otherwise show the staged list and wait for the user's go-ahead. 5. **Commit:** `git commit -m "chore: track Solana AI Kit config"`. Any `.git/hooks/pre-commit` runs as usual.
Notes
- To go back to ignoring the config, re-run `install.sh` (it re-adds the block only if absent), or run `git rm --cached -r .claude .mcp.json .gitmodules .safe-ai-skill` (`git rm --cached -r .agents .mcp.json .gitmodules` in `--agents` installs) and restore the `.gitignore` lines. Leave the instruction file tracked either way, so Grok Build still reads it.
- Committing the config redistributes what it holds. `anthropic-skills` is a core pack, so `$CONFIG_DIR/skills/anthropic-skills.lock` is normally present: the skill folders it lists are Anthropic's, under Apache-2.0 rather than the kit's MIT, so name them in the confirmation and keep each folder's `LICENSE.txt` with it.
- To version the `ext/` submodules as well (rarely needed; they are large upstream trees), remove the `$CONFIG_DIR/skills/ext/` line from `.gitignore` and run `git submodule update --init` so real gitlinks exist before `git add`.
Claude Code, set up to ship on Solana. Not programs alone — the whole lifecycle: validating the idea, building the program and the app around it, shipping it, and the launch and growth work that follows.
Other commands on ai-kit.
More commands from other plugins.
build
CommandImplement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

