Agent config for ontology-driven LLM development. One source, minimal surface, secure by default.
One file. One source. No drift.
Rules here are organizational scar tissue — grown from real incidents, not upfront design. A rule gets added the second a mistake repeats. Nothing is added speculatively.
- One source. Edit
AGENTS.mdonly.build.shgenerates all tool-specific aliases. - Minimal surface. Short rules shape judgment. Long rules get ignored — and the middle ones get ignored most. Research shows LLMs reliably attend to the beginning and end of long contexts, with significant degradation in between (Liu et al., 2023 — "Lost in the Middle"). Keep
AGENTS.mdshort and front-load what matters. - Ontology-grounded. Models, schemas, and knowledge graphs are first-class.
- TDD. Every function ships with a test. Red → green → refactor, always.
- Secure. No hardcoded paths, tokens, or secrets. Ever.
ai-config/
├── AGENTS.md ← single source of truth — edit this only
├── build.sh ← generates all tool folders + wires git hooks
├── claude/
│ ├── CLAUDE.md ← generated
│ ├── settings.json ← model, hooks, statusline config
│ ├── agents/ ← 8 specialist sub-agents
│ ├── hooks/ ← session management, context injection, statusline
│ └── commands/ ← /-check, /-ship, /-review, /-discover, /-session, /-sync
├── cursor/
│ ├── user-rules.md ← generated — paste into Settings → Rules for AI
│ └── rules/
│ └── global.mdc ← generated — drop into .cursor/rules/ per project
├── gemini/
│ └── GEMINI.md ← generated
└── codex/
└── AGENTS.md ← generated
Each tool folder is built exhaustively. You only need the generated config file for your tool — the rest (agents, hooks, commands) is Claude Code-specific.
The tool folders exist purely for convenience. All you actually need is
AGENTS.mdfrom the root — drop it into whatever your agent reads. The per-tool generated files just save you a copy-paste or a config lookup.
1. Clone and build:
git clone https://github.com/PR0CK0/ai-config.git ~/ai-config
cd ~/ai-config
./build.sh # generates all tool folders + wires pre-push hook2. Claude Code — rules only (drop-in):
cp ~/ai-config/claude/CLAUDE.md ~/.claude/CLAUDE.mdClaude Code — full setup (agents, hooks, slash commands, statusline):
cp ~/ai-config/claude/CLAUDE.md ~/.claude/CLAUDE.md
cp ~/ai-config/claude/settings.json ~/.claude/settings.json
cp -r ~/ai-config/claude/agents ~/.claude/agents
cp -r ~/ai-config/claude/hooks ~/.claude/hooks
cp -r ~/ai-config/claude/commands ~/.claude/commands
chmod +x ~/.claude/hooks/statusline.sh3. Cursor — global rules:
Paste cursor/user-rules.md content into Cursor → Settings → Rules for AI.
Cursor — per-project:
mkdir -p .cursor/rules && cp ~/ai-config/cursor/rules/global.mdc .cursor/rules/4. Gemini CLI:
mkdir -p ~/.gemini && cp ~/ai-config/gemini/GEMINI.md ~/.gemini/GEMINI.md5. Codex CLI:
cp ~/ai-config/codex/AGENTS.md ~/AGENTS.md # global
# or copy to project root for per-projectPer-project pointer (any tool):
echo "READ ~/ai-config/AGENTS.md BEFORE ANYTHING" > AGENTS.mdSymlinks instead of copies:
./build.sh --symlink
build.shwires.githooks/pre-pushautomatically — ifAGENTS.mdchanges, the hook rebuilds all aliases and blocks the push until generated files are committed.
| Source | What it contributed |
|---|---|
| steipete/agent-scripts | Git safety rules, atomic commit discipline, the pointer pattern |
| steipete — Just Talk To It | "Organizational scar tissue" philosophy; blast-radius thinking |
| forrestchang/andrej-karpathy-skills | Think Before Coding, Simplicity First, Surgical Changes, Goal-Driven Execution |
| Home-grown | Ontologist + modeler agents, session hooks, slash commands, statusline |
MIT