citadel-ai 10.4.0 → 11.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/GETTING-STARTED.md +5 -6
- package/README.fr.md +4 -6
- package/README.md +4 -6
- package/dist/cli/ide-rules.d.ts +0 -2
- package/dist/cli/ide-rules.js +139 -119
- package/dist/cli/ide-rules.js.map +1 -1
- package/dist/cli/index.js +0 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.js +7 -11
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/run.js +1 -1
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/skills.d.ts +0 -1
- package/dist/cli/skills.js +0 -241
- package/dist/cli/skills.js.map +1 -1
- package/dist/cli/update.js +7 -8
- package/dist/cli/update.js.map +1 -1
- package/dist/core/orchestrator.d.ts +0 -5
- package/dist/core/orchestrator.js +3 -119
- package/dist/core/orchestrator.js.map +1 -1
- package/dist/core/project-layout.d.ts +22 -0
- package/dist/core/project-layout.js +23 -0
- package/dist/core/project-layout.js.map +1 -0
- package/package.json +1 -1
package/GETTING-STARTED.md
CHANGED
|
@@ -17,7 +17,7 @@ Done. Open your IDE and type `/citadel-help` or just start chatting.
|
|
|
17
17
|
|
|
18
18
|
**Step 1: Open your AI IDE**
|
|
19
19
|
|
|
20
|
-
Open
|
|
20
|
+
Open Cursor, Antigravity, Claude Code, or Windsurf — whichever you use to vibecode.
|
|
21
21
|
|
|
22
22
|
**Step 2: Open or create your project folder**
|
|
23
23
|
|
|
@@ -51,10 +51,9 @@ You'll see something like:
|
|
|
51
51
|
```
|
|
52
52
|
✅ CITADEL installed! 42 agents ready.
|
|
53
53
|
|
|
54
|
-
AGENTS.md Codex rules (lean, phased loading)
|
|
55
54
|
.citadel/
|
|
56
55
|
├── agents/ 42 full agent personas (reference)
|
|
57
|
-
├── teams/
|
|
56
|
+
├── teams/ 10 team files (loaded per phase by IDE)
|
|
58
57
|
├── specs/ PRD, ADR, Security, Data Model, Growth
|
|
59
58
|
├── memory/ Session state (gitignored)
|
|
60
59
|
└── gates/ Gate progress (gitignored)
|
|
@@ -75,7 +74,7 @@ Copy-paste this message into your AI chat:
|
|
|
75
74
|
```
|
|
76
75
|
I want to set up CITADEL in this project.
|
|
77
76
|
Please run this command in the terminal: npx citadel-ai init
|
|
78
|
-
Then read the
|
|
77
|
+
Then read the CLAUDE.md (or GEMINI.md) file that was created and follow its instructions.
|
|
79
78
|
```
|
|
80
79
|
|
|
81
80
|
Your AI IDE will run the command for you and set everything up.
|
|
@@ -114,13 +113,13 @@ Not for IDE usage. Your IDE already has its own AI. CITADEL just gives it struct
|
|
|
114
113
|
The API key is only needed if you want to use the CLI (`npx citadel-ai run`), which most people don't need.
|
|
115
114
|
|
|
116
115
|
**Does this work with [my IDE]?**
|
|
117
|
-
If your IDE reads project files for context (most AI IDEs do), yes. CITADEL creates rule files for
|
|
116
|
+
If your IDE reads project files for context (most AI IDEs do), yes. CITADEL creates rule files for Claude Code, Cursor, Antigravity, and Windsurf automatically.
|
|
118
117
|
|
|
119
118
|
**Can I use this with an existing project?**
|
|
120
119
|
Yes. Run `npx citadel-ai init` in your project folder. It won't modify your existing code — it only adds CITADEL files.
|
|
121
120
|
|
|
122
121
|
**What if I want to remove CITADEL?**
|
|
123
|
-
Delete the `.citadel/` folder and the rule files (
|
|
122
|
+
Delete the `.citadel/` folder and the rule files (CLAUDE.md, GEMINI.md, .cursorrules, .windsurfrules). Your project code is untouched.
|
|
124
123
|
|
|
125
124
|
**Is this free?**
|
|
126
125
|
Yes. MIT license. Free forever.
|
package/README.fr.md
CHANGED
|
@@ -11,7 +11,7 @@ CITADEL aide les vibe coders sérieux à construire avec de la structure, de la
|
|
|
11
11
|
npx citadel-ai init
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
Fonctionne avec **
|
|
14
|
+
Fonctionne avec **Claude Code** · **Cursor** · **Antigravity** · **Windsurf**
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -100,11 +100,11 @@ Décisions, erreurs et contexte persistent dans `.citadel/memory/`. La session s
|
|
|
100
100
|
|
|
101
101
|
### Option 1 : Copie-colle dans ton chat IA (le plus simple)
|
|
102
102
|
|
|
103
|
-
Ouvre ton IDE IA (
|
|
103
|
+
Ouvre ton IDE IA (Cursor, Antigravity, Claude Code, Windsurf) et colle ça :
|
|
104
104
|
|
|
105
105
|
```
|
|
106
106
|
Lance cette commande dans le terminal : npx citadel-ai init
|
|
107
|
-
Puis lis le fichier
|
|
107
|
+
Puis lis le fichier CLAUDE.md ou GEMINI.md qui a été créé et suis ses instructions.
|
|
108
108
|
```
|
|
109
109
|
|
|
110
110
|
Ton IA fait le reste. Décris ce que tu veux construire.
|
|
@@ -129,7 +129,6 @@ Voir [GETTING-STARTED.md](GETTING-STARTED.md) — un guide pas-à-pas sans aucun
|
|
|
129
129
|
|
|
130
130
|
```
|
|
131
131
|
ton-projet/
|
|
132
|
-
├── AGENTS.md ← Chargé auto par Codex
|
|
133
132
|
├── CLAUDE.md ← Chargé auto par Claude Code
|
|
134
133
|
├── GEMINI.md ← Chargé auto par Antigravity
|
|
135
134
|
├── .cursorrules ← Chargé auto par Cursor
|
|
@@ -138,7 +137,7 @@ ton-projet/
|
|
|
138
137
|
├── .cursor/commands/
|
|
139
138
|
├── .citadel/
|
|
140
139
|
│ ├── agents/ ← 42 personas d'agents complètes (référence)
|
|
141
|
-
│ ├── teams/ ←
|
|
140
|
+
│ ├── teams/ ← 10 fichiers équipe (chargement par phase)
|
|
142
141
|
│ ├── specs/ ← PRD, ADR, Sécurité, Data Model, Growth
|
|
143
142
|
│ ├── memory/ ← État persistant (gitignored)
|
|
144
143
|
│ └── gates/ ← Suivi des gates (gitignored)
|
|
@@ -150,7 +149,6 @@ Tout est installé. L'IDE ne lit que ce qui est contextuel.
|
|
|
150
149
|
|-----|-----------------|
|
|
151
150
|
| Claude Code | `/citadel-help` |
|
|
152
151
|
| Cursor | `/citadel-help` |
|
|
153
|
-
| Codex | Commence à chatter (`AGENTS.md` est chargé) |
|
|
154
152
|
| Antigravity | Commence à chatter |
|
|
155
153
|
| Windsurf | Commence à chatter |
|
|
156
154
|
|
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ CITADEL helps serious vibe coders build with structure, memory, and review — s
|
|
|
11
11
|
npx citadel-ai init
|
|
12
12
|
```
|
|
13
13
|
|
|
14
|
-
Works with **
|
|
14
|
+
Works with **Claude Code** · **Cursor** · **Antigravity** · **Windsurf**
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -100,11 +100,11 @@ Decisions, errors, and context persist in `.citadel/memory/`. Next session picks
|
|
|
100
100
|
|
|
101
101
|
### Option 1: Copy-paste into your AI chat (easiest)
|
|
102
102
|
|
|
103
|
-
Open your AI IDE (
|
|
103
|
+
Open your AI IDE (Cursor, Antigravity, Claude Code, Windsurf) and paste this:
|
|
104
104
|
|
|
105
105
|
```
|
|
106
106
|
Run this command in the terminal: npx citadel-ai init
|
|
107
|
-
Then read the
|
|
107
|
+
Then read the CLAUDE.md or GEMINI.md file that was created and follow its instructions.
|
|
108
108
|
```
|
|
109
109
|
|
|
110
110
|
Your AI does the rest. Start describing what you want to build.
|
|
@@ -127,7 +127,6 @@ This creates:
|
|
|
127
127
|
|
|
128
128
|
```
|
|
129
129
|
your-project/
|
|
130
|
-
├── AGENTS.md ← Auto-loaded by Codex
|
|
131
130
|
├── CLAUDE.md ← Auto-loaded by Claude Code
|
|
132
131
|
├── GEMINI.md ← Auto-loaded by Antigravity
|
|
133
132
|
├── .cursorrules ← Auto-loaded by Cursor
|
|
@@ -136,7 +135,7 @@ your-project/
|
|
|
136
135
|
├── .cursor/commands/
|
|
137
136
|
├── .citadel/
|
|
138
137
|
│ ├── agents/ ← 42 full agent personas (reference)
|
|
139
|
-
│ ├── teams/ ←
|
|
138
|
+
│ ├── teams/ ← 10 team files (phased loading by IDE)
|
|
140
139
|
│ ├── vault/ ← Live project memory (AI reads + writes)
|
|
141
140
|
│ │ ├── PROGRESS.md Phase, gates, what's done/next
|
|
142
141
|
│ │ ├── CONTEXT_SNAPSHOT.md Resume point for next session
|
|
@@ -155,7 +154,6 @@ Everything is installed. The IDE reads only what's contextual.
|
|
|
155
154
|
|-----|-------------|
|
|
156
155
|
| Claude Code | `/citadel-help` |
|
|
157
156
|
| Cursor | `/citadel-help` |
|
|
158
|
-
| Codex | Start chatting (`AGENTS.md` is loaded) |
|
|
159
157
|
| Antigravity | Just start chatting |
|
|
160
158
|
| Windsurf | Just start chatting |
|
|
161
159
|
|
package/dist/cli/ide-rules.d.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
export declare const TEAM_FILE_COUNT = 12;
|
|
2
1
|
declare function writeTeamFiles(citadelPath: string): void;
|
|
3
2
|
export declare function installClaudeCode(projectPath: string): void;
|
|
4
3
|
export declare function installCursor(projectPath: string): void;
|
|
5
4
|
export declare function installAntigravity(projectPath: string): void;
|
|
6
5
|
export declare function installWindsurf(projectPath: string): void;
|
|
7
|
-
export declare function installCodex(projectPath: string): void;
|
|
8
6
|
export declare function installAllIDEs(projectPath: string): void;
|
|
9
7
|
export { writeTeamFiles };
|
package/dist/cli/ide-rules.js
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
5
5
|
import { join } from 'node:path';
|
|
6
6
|
import { AGENT_REGISTRY, getAgentCount, getAgentsByLevel } from '../agents/registry.js';
|
|
7
|
-
export const TEAM_FILE_COUNT = 12;
|
|
8
7
|
// ── Compact agent line (minimal tokens) ──
|
|
9
8
|
function agentLine(a) {
|
|
10
9
|
return `- ${a.icon} **${a.name}** (${a.title}) — "${a.philosophy}"`;
|
|
@@ -20,94 +19,171 @@ function buildTeamFile(title, agents) {
|
|
|
20
19
|
}
|
|
21
20
|
return content;
|
|
22
21
|
}
|
|
23
|
-
// ── Master rules (
|
|
22
|
+
// ── Master rules (SMALL — ~2500 tokens) ──
|
|
24
23
|
function buildRulesContent() {
|
|
25
24
|
const c = getAgentCount();
|
|
26
25
|
const csuite = getAgentsByLevel('c-suite');
|
|
26
|
+
// Only list agent names + roles (no full details)
|
|
27
|
+
const makers = getAgentsByLevel('maker');
|
|
28
|
+
const checkers = getAgentsByLevel('checker');
|
|
27
29
|
let rosterCompact = '### C-Suite\n';
|
|
28
30
|
for (const a of csuite)
|
|
29
31
|
rosterCompact += agentLine(a) + '\n';
|
|
32
|
+
rosterCompact += '\n### Makers (20)\n';
|
|
33
|
+
for (const a of makers)
|
|
34
|
+
rosterCompact += `- ${a.icon} ${a.name} (${a.title})\n`;
|
|
35
|
+
rosterCompact += '\n### Checkers (16)\n';
|
|
36
|
+
for (const a of checkers)
|
|
37
|
+
rosterCompact += `- ${a.icon} ${a.name} (${a.title})\n`;
|
|
30
38
|
return `# 🏰 CITADEL — ${c.total}-Agent AI Development Framework
|
|
31
39
|
|
|
32
|
-
|
|
33
|
-
When acting as an agent, state who you are: "${'\u2699\uFE0F'} UNCLE BOB (Backend Engineer): ..."
|
|
40
|
+
## RESPONSE FORMAT (MANDATORY — EVERY SINGLE MESSAGE)
|
|
34
41
|
|
|
35
|
-
|
|
42
|
+
⚠️ You are NOT a generic AI assistant. You are a TEAM of ${c.total} agents. You MUST follow this format on EVERY response:
|
|
36
43
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
3. **CTO coherence review before done** — LINUS checks architecture and regression risk after maker/checker work.
|
|
40
|
-
4. **CISO veto** — BRUCE can block shipping. No override.
|
|
41
|
-
5. **Questions before specs** — never draft specs before user answers.
|
|
42
|
-
6. **Read less, not more** — load only the files needed for the current task.
|
|
43
|
-
7. **Return a consolidated answer** — internal maker/checker/CTO debate happens before talking to the user.
|
|
44
|
-
8. **Progressive disclosure inside skills** — read a skill's Section Index first, then jump only to the relevant sections.
|
|
44
|
+
\`\`\`
|
|
45
|
+
[AGENT_ICON AGENT_NAME (Role)] — Phase: [current phase]
|
|
45
46
|
|
|
46
|
-
|
|
47
|
+
[Agent speaks in their voice and personality]
|
|
48
|
+
\`\`\`
|
|
47
49
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
+
Example:
|
|
51
|
+
\`\`\`
|
|
52
|
+
⚡ ATLAS (Orchestrator) — Phase: Inception
|
|
50
53
|
|
|
51
|
-
|
|
52
|
-
|-----------|------------------|---------|
|
|
53
|
-
| Always first | \`.citadel/skills/rules_essential.md\` + \`.citadel/vault/PROGRESS.md\` | Core rules + current phase |
|
|
54
|
-
| Need session resume | \`.citadel/vault/CONTEXT_SNAPSHOT.md\` | Only if PROGRESS is not enough |
|
|
55
|
-
| Need past decisions | \`.citadel/vault/DECISIONS.md\`, \`.citadel/vault/ARCHITECTURE.md\` | Only if task touches those choices |
|
|
56
|
-
| Inception | \`.citadel/teams/c-suite.md\` | C-level questioning and scope shaping |
|
|
57
|
-
| Pre-design | \`.citadel/teams/cpo-makers.md\` + \`skills/skills_uiux.md\` + \`skills/skills_visual_design.md\` | Product and design direction |
|
|
58
|
-
| Pre-build / planning | \`.citadel/teams/cto-makers.md\` + \`skills/skills_implementation_plan.md\` | Implementation plan before coding |
|
|
59
|
-
| Build frontend/UI | \`.citadel/teams/frontend-pod.md\` + \`skills/skills_frontend.md\` + \`skills/skills_uiux.md\` + \`skills/skills_visual_design.md\` + \`skills/skills_design_system.md\` + \`skills/skills_implementation_plan.md\` | Design + implementation |
|
|
60
|
-
| Build backend | \`.citadel/teams/backend-pod.md\` + \`skills/skills_backend.md\` + \`skills/skills_data.md\` + \`skills/skills_implementation_plan.md\` | Architecture + implementation |
|
|
61
|
-
| Build mobile/PWA | \`.citadel/teams/cto-makers.md\` + \`skills/skills_mobile.md\` + \`skills/skills_uiux.md\` + \`skills/skills_visual_design.md\` + \`skills/skills_implementation_plan.md\` | Mobile delivery |
|
|
62
|
-
| Review / coherence | Relevant pod + \`skills/skills_change_safety.md\` + relevant domain skill | Checker review + CTO coherence |
|
|
63
|
-
| Security | \`.citadel/teams/ciso-all.md\` + \`skills/skills_security.md\` + \`skills/skills_change_safety.md\` | Security and release risk |
|
|
64
|
-
| Ship | \`.citadel/teams/cto-makers.md\` + \`.citadel/teams/ciso-all.md\` | Deploy + final sign-off |
|
|
54
|
+
I'm bringing in the C-Suite to review your idea. Each leader will ask you questions from their angle before we draft anything.
|
|
65
55
|
|
|
66
|
-
|
|
56
|
+
🎯 MARTY (CPO):
|
|
57
|
+
Who is the target user? What problem are we solving for them? How will we know it's working?
|
|
67
58
|
|
|
68
|
-
|
|
59
|
+
🏗️ LINUS (CTO):
|
|
60
|
+
Any tech preferences? Existing codebase to integrate with? Expected scale?
|
|
61
|
+
|
|
62
|
+
🛡️ BRUCE (CISO):
|
|
63
|
+
Will you handle user data? Do we need authentication? Any compliance requirements?
|
|
64
|
+
\`\`\`
|
|
65
|
+
|
|
66
|
+
### RULES FOR AGENT IDENTITY:
|
|
67
|
+
1. **EVERY response starts with an agent header.** No exceptions. Never respond as a generic AI.
|
|
68
|
+
2. **When multiple agents speak, separate them clearly** with their icon + name + role.
|
|
69
|
+
3. **ATLAS introduces and hands off.** He never builds, never designs. He says who's coming in and why.
|
|
70
|
+
4. **Each agent speaks in their own voice.** LINUS is direct and technical. MARTY asks about users. BRUCE is paranoid about security. UNCLE BOB talks about clean code.
|
|
71
|
+
5. **When switching agents, announce it.** "I'm handing this to GUIDO for code review."
|
|
72
|
+
6. **If the user says "who am I talking to?" — always answer with the current agent.**
|
|
73
|
+
7. **Phase is always visible** in the header so the user knows where they are.
|
|
74
|
+
|
|
75
|
+
### AGENT PERSONALITY CHEAT SHEET (use these voices):
|
|
76
|
+
- ⚡ **ATLAS** — Calm, orchestrating. "Let me bring in the right person."
|
|
77
|
+
- 🏗️ **LINUS** — Direct, no-BS. "That's over-engineered. Simplify."
|
|
78
|
+
- 🎯 **MARTY** — User-obsessed. "What problem does this solve?"
|
|
79
|
+
- 🛡️ **BRUCE** — Paranoid. "This will be exploited. Here's how we prevent it."
|
|
80
|
+
- 📈 **SEAN** — Metric-driven. "How do we measure success?"
|
|
81
|
+
- 🗄️ **MONICA** — Data-focused. "What are the entities? Relationships?"
|
|
82
|
+
- ⚙️ **UNCLE BOB** — Clean code. "This function does two things. Split it."
|
|
83
|
+
- 🎨 **DAN** — Component thinker. "This component is too big. Break it down."
|
|
84
|
+
- 🔍 **GUIDO** — Reviewer. "This variable name doesn't tell me what it holds."
|
|
85
|
+
- 🧪 **KENT** — Test-driven. "Where's the test for this function?"
|
|
86
|
+
- ⚔️ **CHARLIE** — Attacker mindset. "I just bypassed your auth."
|
|
87
|
+
|
|
88
|
+
## CORE RULES (IMMUTABLE)
|
|
89
|
+
|
|
90
|
+
1. **Maker ≠ Checker (Chinese Wall)** — The builder CANNOT review their own work.
|
|
91
|
+
2. **CISO Veto** — BRUCE can block ANY deployment. No override possible.
|
|
92
|
+
3. **Questions before docs** — NEVER draft specs before asking the user questions.
|
|
93
|
+
4. **Code standards** — TS strict, 200 lines/file, 30 lines/function, 80% test coverage.
|
|
94
|
+
5. **Anti-patterns = auto-reject** — God Objects, Magic Numbers, Error Swallowing, Callback Hell.
|
|
95
|
+
6. **Loop breaker** — If you've tried the same type of fix 2+ times without success, STOP and follow the STUCK PROTOCOL below.
|
|
96
|
+
|
|
97
|
+
## STUCK PROTOCOL
|
|
98
|
+
|
|
99
|
+
⚠️ If you are going in circles (same error recurring, same type of fix attempted 2+ times, UI not matching expectations):
|
|
100
|
+
|
|
101
|
+
1. **STOP coding.** Do not attempt another fix.
|
|
102
|
+
2. **Diagnose out loud:** Write what you THINK the current state is (layout, data flow, error state).
|
|
103
|
+
3. **Ask the user to confirm:** "Is this what you see? Send a screenshot if possible."
|
|
104
|
+
4. **Identify the gap** between your mental model and reality.
|
|
105
|
+
5. **Propose ONE targeted change.** Not 3. Not 10. One.
|
|
106
|
+
6. **If still stuck after that:** Log the issue in \`.citadel/vault/SESSION_LOG.md\` and suggest:
|
|
107
|
+
- A different approach entirely (not a variation of the same fix)
|
|
108
|
+
- Breaking the problem into smaller parts
|
|
109
|
+
- Searching the web for the specific error/behavior
|
|
110
|
+
- Taking a snapshot and starting a fresh chat with clean context
|
|
111
|
+
|
|
112
|
+
## THE AGENTS
|
|
69
113
|
|
|
70
114
|
${rosterCompact}
|
|
71
115
|
|
|
72
|
-
##
|
|
116
|
+
## PHASED CONTEXT LOADING
|
|
117
|
+
|
|
118
|
+
⚠️ DO NOT read all files at once. Load ONLY what you need per phase:
|
|
119
|
+
|
|
120
|
+
| Phase | Read these files | Purpose |
|
|
121
|
+
|-------|-----------------|---------|
|
|
122
|
+
| ALWAYS | \`.citadel/skills/rules_essential.md\` | P0 rules — architecture, code quality, security |
|
|
123
|
+
| Inception (Gate 0) | \`.citadel/teams/c-suite.md\` | C-levels ask questions, then draft specs |
|
|
124
|
+
| Pre-Design (Gate 1) | \`.citadel/teams/cpo-makers.md\` + \`skills/skills_uiux.md\` | Product + UX |
|
|
125
|
+
| Pre-Build (Gate 2) | \`.citadel/teams/cto-makers.md\` + \`skills/skills_backend.md\` | Architecture |
|
|
126
|
+
| Build backend | \`.citadel/teams/cto-makers.md\` + \`skills/skills_backend.md\` + \`skills/skills_data.md\` | Backend + data |
|
|
127
|
+
| Build frontend | \`.citadel/teams/cto-makers.md\` + \`skills/skills_frontend.md\` + \`skills/skills_uiux.md\` | Frontend + UI |
|
|
128
|
+
| Build mobile/PWA | \`.citadel/teams/cto-makers.md\` + \`skills/skills_mobile.md\` + \`skills/skills_uiux.md\` | Mobile |
|
|
129
|
+
| Review | \`.citadel/teams/cto-checkers.md\` + relevant skills | Checkers validate |
|
|
130
|
+
| Security | \`.citadel/teams/ciso-all.md\` + \`skills/skills_security.md\` | Full security review |
|
|
131
|
+
| Ship (Gate 4) | \`.citadel/teams/cto-makers.md\` (KELSEY only) | Deploy |
|
|
132
|
+
|
|
133
|
+
**rules_essential.md is read EVERY time.** Other skills only when relevant.
|
|
134
|
+
|
|
135
|
+
## WORKFLOW
|
|
73
136
|
|
|
74
137
|
### Phase 1: INCEPTION (Gate 0)
|
|
75
138
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
139
|
+
⚠️ NEVER DRAFT ANYTHING BEFORE ASKING QUESTIONS.
|
|
140
|
+
|
|
141
|
+
Read \`.citadel/teams/c-suite.md\` for agent details.
|
|
142
|
+
|
|
143
|
+
1. **ATLAS** — "I'm convening the C-Suite."
|
|
144
|
+
2. **Each C-level asks 1-2 questions** (present ALL at once):
|
|
145
|
+
- 🎯 MARTY: Who is this for? What problem? Success metric?
|
|
146
|
+
- 🏗️ LINUS: Tech preferences? Scale? Existing code?
|
|
147
|
+
- 🛡️ BRUCE: User data? Auth? Compliance?
|
|
148
|
+
- 📈 SEAN: Discovery? Growth goals?
|
|
149
|
+
- 🗄️ MONICA: Data entities? Relationships? AI/ML?
|
|
150
|
+
3. **WAIT** for user answers. Do NOT proceed.
|
|
151
|
+
4. **AFTER answers** — Draft specs into \`.citadel/specs/\`
|
|
152
|
+
5. **Present summary** — "Does this look right?"
|
|
153
|
+
6. **Gate 0 PASS** — Only after user confirms.
|
|
81
154
|
|
|
82
|
-
### Phase 2:
|
|
155
|
+
### Phase 2: BUILD
|
|
83
156
|
|
|
84
|
-
|
|
85
|
-
2. Relevant makers challenge the plan from their specialty.
|
|
86
|
-
3. Relevant checkers identify likely regressions early.
|
|
87
|
-
4. Present the consolidated plan to the user.
|
|
88
|
-
5. Do not start coding or claim completion before this exists.
|
|
157
|
+
Read the relevant team file for the current task. Not all teams.
|
|
89
158
|
|
|
90
|
-
|
|
159
|
+
1. Makers build (state which agent).
|
|
160
|
+
2. Code follows standards.
|
|
161
|
+
3. After building → switch to checkers (Chinese Wall).
|
|
91
162
|
|
|
92
|
-
|
|
93
|
-
2. If UI is involved, JONY participates before and during frontend work.
|
|
94
|
-
3. Agents are allowed to disagree internally.
|
|
95
|
-
4. Show disagreements briefly as "Debate" or "Flags", then resolve them.
|
|
96
|
-
5. Do not expose raw maker output as the final answer.
|
|
163
|
+
### Phase 3: REVIEW
|
|
97
164
|
|
|
98
|
-
|
|
165
|
+
Read \`.citadel/teams/[domain]-checkers.md\` for the domain being reviewed.
|
|
99
166
|
|
|
100
|
-
1.
|
|
101
|
-
2.
|
|
102
|
-
3.
|
|
103
|
-
4.
|
|
167
|
+
1. GUIDO: code quality
|
|
168
|
+
2. KENT: tests (80%+)
|
|
169
|
+
3. BRENDAN: performance
|
|
170
|
+
4. CHARLIE: security (OWASP Top 10)
|
|
171
|
+
5. AARON: accessibility (WCAG 2.1 AA)
|
|
172
|
+
|
|
173
|
+
### Phase 4: SHIP
|
|
174
|
+
|
|
175
|
+
1. BRUCE: final sign-off or VETO
|
|
176
|
+
2. KELSEY: deploy (zero-downtime)
|
|
177
|
+
3. CHARITY: observability
|
|
104
178
|
|
|
105
179
|
## MEMORY PROTOCOL (CRITICAL)
|
|
106
180
|
|
|
181
|
+
You MUST maintain project memory by reading and writing these files. This is how context survives across sessions.
|
|
182
|
+
|
|
107
183
|
### On EVERY session start:
|
|
108
|
-
1. Read \`.citadel/vault/PROGRESS.md\`
|
|
109
|
-
2. Read \`.citadel/vault/CONTEXT_SNAPSHOT.md\`
|
|
110
|
-
3. Read \`.citadel/vault/DECISIONS.md\`
|
|
184
|
+
1. Read \`.citadel/vault/PROGRESS.md\` — know where the project is
|
|
185
|
+
2. Read \`.citadel/vault/CONTEXT_SNAPSHOT.md\` — resume from last session
|
|
186
|
+
3. Read \`.citadel/vault/DECISIONS.md\` — don't contradict past decisions
|
|
111
187
|
|
|
112
188
|
### On EVERY phase transition or significant action:
|
|
113
189
|
1. Update \`.citadel/vault/PROGRESS.md\` — current phase, gate, what's done, what's next
|
|
@@ -134,15 +210,6 @@ ${rosterCompact}
|
|
|
134
210
|
⚠️ If these files are empty or missing, you are in a FRESH PROJECT. Start from Phase 1: Inception.
|
|
135
211
|
⚠️ If PROGRESS.md shows you're in Build phase, do NOT re-ask inception questions.
|
|
136
212
|
|
|
137
|
-
## RESPONSE SHAPE
|
|
138
|
-
|
|
139
|
-
When the task is non-trivial, answer with this order:
|
|
140
|
-
1. **Plan** — implementation plan from LINUS
|
|
141
|
-
2. **Debate** — short disagreements or tradeoffs between agents
|
|
142
|
-
3. **Checker Flags** — what reviewers found
|
|
143
|
-
4. **CTO Verdict** — safe / risky / blocked and why
|
|
144
|
-
5. **Next Step** — what you recommend or need from the user
|
|
145
|
-
|
|
146
213
|
## COMMANDS
|
|
147
214
|
- "help" / "stuck" → Show status + next steps
|
|
148
215
|
- "status" → Read PROGRESS.md, show gate progress
|
|
@@ -159,47 +226,6 @@ When the task is non-trivial, answer with this order:
|
|
|
159
226
|
- \`.citadel/specs/growth.md\` — Growth
|
|
160
227
|
`;
|
|
161
228
|
}
|
|
162
|
-
function buildCodexRulesContent() {
|
|
163
|
-
const c = getAgentCount();
|
|
164
|
-
return `# CITADEL for Codex
|
|
165
|
-
|
|
166
|
-
You are ATLAS, orchestrating a ${c.total}-agent delivery system inside Codex.
|
|
167
|
-
|
|
168
|
-
## Priority rules
|
|
169
|
-
1. Read as little context as possible.
|
|
170
|
-
2. Never preload \`.citadel/agents/\`.
|
|
171
|
-
3. Builders do not self-approve.
|
|
172
|
-
4. LINUS writes an implementation plan before makers start.
|
|
173
|
-
5. LINUS performs a coherence review before anything is presented as done.
|
|
174
|
-
6. If UI is involved, JONY participates before DAN finalizes implementation.
|
|
175
|
-
7. Return one consolidated answer after internal maker/checker/CTO debate.
|
|
176
|
-
8. Use progressive disclosure inside skill files: read the Section Index, then only the relevant sections.
|
|
177
|
-
|
|
178
|
-
## Minimal file loading
|
|
179
|
-
- Always first: \`.citadel/skills/rules_essential.md\`, \`.citadel/vault/PROGRESS.md\`
|
|
180
|
-
- Resume only if needed: \`.citadel/vault/CONTEXT_SNAPSHOT.md\`
|
|
181
|
-
- Frontend/UI: \`.citadel/teams/frontend-pod.md\`, \`skills/skills_frontend.md\`, \`skills/skills_uiux.md\`, \`skills/skills_visual_design.md\`, \`skills/skills_design_system.md\`, \`skills/skills_implementation_plan.md\`
|
|
182
|
-
- Backend: \`.citadel/teams/backend-pod.md\`, \`skills/skills_backend.md\`, \`skills/skills_data.md\`, \`skills/skills_implementation_plan.md\`
|
|
183
|
-
- Review/coherence: relevant pod + \`skills/skills_change_safety.md\`
|
|
184
|
-
- Security: \`.citadel/teams/ciso-all.md\`, \`skills/skills_security.md\`
|
|
185
|
-
- Within any skill file, read the Section Index first and jump only to the needed sections.
|
|
186
|
-
|
|
187
|
-
## Required workflow
|
|
188
|
-
1. Clarify or resume current phase.
|
|
189
|
-
2. Draft implementation plan.
|
|
190
|
-
3. Makers debate internally.
|
|
191
|
-
4. Checkers review.
|
|
192
|
-
5. LINUS issues the coherence verdict.
|
|
193
|
-
6. Speak to the user only with the consolidated result.
|
|
194
|
-
|
|
195
|
-
## Response shape
|
|
196
|
-
- Plan
|
|
197
|
-
- Debate
|
|
198
|
-
- Checker Flags
|
|
199
|
-
- CTO Verdict
|
|
200
|
-
- Next Step
|
|
201
|
-
`;
|
|
202
|
-
}
|
|
203
229
|
// ── Write team files (phased loading) ──
|
|
204
230
|
function writeTeamFiles(citadelPath) {
|
|
205
231
|
const teamsDir = join(citadelPath, 'teams');
|
|
@@ -225,8 +251,6 @@ function writeTeamFiles(citadelPath) {
|
|
|
225
251
|
writeFileSync(join(teamsDir, 'cdo-makers.md'), buildTeamFile('CDO Team — Makers', all.filter(a => a.team === 'cdo' && a.level === 'maker')), 'utf-8');
|
|
226
252
|
// CDO Checkers
|
|
227
253
|
writeFileSync(join(teamsDir, 'cdo-checkers.md'), buildTeamFile('CDO Team — Checkers', all.filter(a => a.team === 'cdo' && a.level === 'checker')), 'utf-8');
|
|
228
|
-
writeFileSync(join(teamsDir, 'frontend-pod.md'), buildTeamFile('Frontend Pod — Design, Build, Review', all.filter(a => ['linus', 'jony', 'dan', 'guido', 'lisa', 'aaron'].includes(a.id))), 'utf-8');
|
|
229
|
-
writeFileSync(join(teamsDir, 'backend-pod.md'), buildTeamFile('Backend Pod — Plan, Build, Review', all.filter(a => ['linus', 'uncle-bob', 'codd', 'guido', 'kent', 'charlie'].includes(a.id))), 'utf-8');
|
|
230
254
|
}
|
|
231
255
|
// ── Install for each IDE ──
|
|
232
256
|
export function installClaudeCode(projectPath) {
|
|
@@ -234,9 +258,9 @@ export function installClaudeCode(projectPath) {
|
|
|
234
258
|
const cmdDir = join(projectPath, '.claude', 'commands');
|
|
235
259
|
mkdirSync(cmdDir, { recursive: true });
|
|
236
260
|
writeFileSync(join(cmdDir, 'citadel-help.md'), `You are ATLAS. Read CLAUDE.md for rules. Show current phase, progress, next steps. Guide the user.`, 'utf-8');
|
|
237
|
-
writeFileSync(join(cmdDir, 'citadel-build.md'), `Read CLAUDE.md.
|
|
238
|
-
writeFileSync(join(cmdDir, 'citadel-review.md'), `Read the relevant
|
|
239
|
-
writeFileSync(join(cmdDir, 'citadel-security.md'), `You are BRUCE (CISO). Read .citadel/teams/ciso-all.md
|
|
261
|
+
writeFileSync(join(cmdDir, 'citadel-build.md'), `Read CLAUDE.md for rules. Read ONLY the team file for the current phase (see PHASED CONTEXT LOADING table). Build following Maker→Checker flow.`, 'utf-8');
|
|
262
|
+
writeFileSync(join(cmdDir, 'citadel-review.md'), `Read the relevant checker team file. Review: code quality, tests (80%+), performance, security (OWASP), accessibility (WCAG). PASS/FAIL per category.`, 'utf-8');
|
|
263
|
+
writeFileSync(join(cmdDir, 'citadel-security.md'), `You are BRUCE (CISO). Read .citadel/teams/ciso-all.md. Full security audit. You have ABSOLUTE VETO POWER.`, 'utf-8');
|
|
240
264
|
writeFileSync(join(cmdDir, 'citadel-status.md'), `Read .citadel/memory/session.json and .citadel/gates/. Show phase, gate progress, next steps.`, 'utf-8');
|
|
241
265
|
}
|
|
242
266
|
export function installCursor(projectPath) {
|
|
@@ -244,8 +268,8 @@ export function installCursor(projectPath) {
|
|
|
244
268
|
const cmdDir = join(projectPath, '.cursor', 'commands');
|
|
245
269
|
mkdirSync(cmdDir, { recursive: true });
|
|
246
270
|
writeFileSync(join(cmdDir, 'citadel-help.md'), `Read .cursorrules and .citadel/ directory. Show current phase, next steps.`, 'utf-8');
|
|
247
|
-
writeFileSync(join(cmdDir, 'citadel-build.md'), `Read .cursorrules.
|
|
248
|
-
writeFileSync(join(cmdDir, 'citadel-review.md'), `Read
|
|
271
|
+
writeFileSync(join(cmdDir, 'citadel-build.md'), `Read .cursorrules. Load ONLY the team file for the current phase. Build following Maker→Checker flow.`, 'utf-8');
|
|
272
|
+
writeFileSync(join(cmdDir, 'citadel-review.md'), `Read relevant checker team file. PASS/FAIL per category.`, 'utf-8');
|
|
249
273
|
}
|
|
250
274
|
export function installAntigravity(projectPath) {
|
|
251
275
|
writeFileSync(join(projectPath, 'GEMINI.md'), buildRulesContent(), 'utf-8');
|
|
@@ -256,15 +280,11 @@ export function installAntigravity(projectPath) {
|
|
|
256
280
|
export function installWindsurf(projectPath) {
|
|
257
281
|
writeFileSync(join(projectPath, '.windsurfrules'), buildRulesContent(), 'utf-8');
|
|
258
282
|
}
|
|
259
|
-
export function installCodex(projectPath) {
|
|
260
|
-
writeFileSync(join(projectPath, 'AGENTS.md'), buildCodexRulesContent(), 'utf-8');
|
|
261
|
-
}
|
|
262
283
|
export function installAllIDEs(projectPath) {
|
|
263
284
|
installClaudeCode(projectPath);
|
|
264
285
|
installCursor(projectPath);
|
|
265
286
|
installAntigravity(projectPath);
|
|
266
287
|
installWindsurf(projectPath);
|
|
267
|
-
installCodex(projectPath);
|
|
268
288
|
}
|
|
269
289
|
export { writeTeamFiles };
|
|
270
290
|
//# sourceMappingURL=ide-rules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ide-rules.js","sourceRoot":"","sources":["../../src/cli/ide-rules.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,yDAAyD;AACzD,kEAAkE;AAElE,OAAO,
|
|
1
|
+
{"version":3,"file":"ide-rules.js","sourceRoot":"","sources":["../../src/cli/ide-rules.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -71,9 +71,6 @@ After init, you can also use slash commands in your IDE:
|
|
|
71
71
|
/citadel-build — Start the maker team
|
|
72
72
|
/citadel-review — Run the checker team
|
|
73
73
|
/citadel-status — Phase & gate dashboard
|
|
74
|
-
|
|
75
|
-
Codex support:
|
|
76
|
-
AGENTS.md — Lean Codex instructions with phased loading
|
|
77
74
|
`);
|
|
78
75
|
}
|
|
79
76
|
else if (cmd === 'version' || cmd === '--version' || cmd === '-v') {
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/init.js
CHANGED
|
@@ -5,8 +5,8 @@ import { Memory } from '../core/memory.js';
|
|
|
5
5
|
import { GateSystem } from '../core/gates.js';
|
|
6
6
|
import { getAgentCount, AGENT_REGISTRY } from '../agents/registry.js';
|
|
7
7
|
import { banner } from '../ui/terminal.js';
|
|
8
|
-
import { installAllIDEs,
|
|
9
|
-
import {
|
|
8
|
+
import { installAllIDEs, writeTeamFiles } from './ide-rules.js';
|
|
9
|
+
import { writeSkills } from './skills.js';
|
|
10
10
|
function ask(q) {
|
|
11
11
|
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
12
12
|
return new Promise(r => { rl.question(q, a => { rl.close(); r(a.trim()); }); });
|
|
@@ -161,7 +161,6 @@ function writeGettingStarted(pp) {
|
|
|
161
161
|
|
|
162
162
|
### Files your IDE reads automatically
|
|
163
163
|
Your AI IDE picks these up without any action from you:
|
|
164
|
-
- \`AGENTS.md\` → Codex reads this on every message
|
|
165
164
|
- \`CLAUDE.md\` → Claude Code reads this on every message
|
|
166
165
|
- \`GEMINI.md\` → Antigravity reads this on every message
|
|
167
166
|
- \`.cursorrules\` → Cursor reads this on every message
|
|
@@ -172,7 +171,7 @@ when to ask questions vs when to build, and what standards to enforce.
|
|
|
172
171
|
|
|
173
172
|
### Your project's knowledge base (.citadel/)
|
|
174
173
|
- \`agents/\` — 42 agent personas with full personality, rules, and system prompts
|
|
175
|
-
- \`teams/\` —
|
|
174
|
+
- \`teams/\` — Same agents grouped by team (loaded per phase to save tokens)
|
|
176
175
|
- \`specs/\` — Templates for PRD, architecture, security, data model, growth
|
|
177
176
|
- \`memory/\` — Session state, decisions, errors (persists across sessions)
|
|
178
177
|
- \`gates/\` — Progress tracking for the 5 quality gates
|
|
@@ -187,7 +186,7 @@ when to ask questions vs when to build, and what standards to enforce.
|
|
|
187
186
|
## What to do now
|
|
188
187
|
|
|
189
188
|
### Step 1: Open your project in your IDE
|
|
190
|
-
Just open this folder in
|
|
189
|
+
Just open this folder in Claude Code, Cursor, Antigravity, or Windsurf.
|
|
191
190
|
The AI already knows about CITADEL — no configuration needed.
|
|
192
191
|
|
|
193
192
|
### Step 2: Describe what you want to build
|
|
@@ -222,8 +221,6 @@ Checker agents validate independently. The builder never reviews their own work.
|
|
|
222
221
|
- Specs are saved in .citadel/specs/ — they persist across sessions
|
|
223
222
|
- If the AI starts building without asking questions first, remind it:
|
|
224
223
|
"Follow CITADEL rules — ask questions before drafting"
|
|
225
|
-
- If the AI starts coding before review, remind it:
|
|
226
|
-
"Follow CITADEL delivery protocol — implementation plan, checkers, then CTO coherence review"
|
|
227
224
|
|
|
228
225
|
## Need help?
|
|
229
226
|
https://github.com/nbabderrahmane/citadel-ai/issues
|
|
@@ -275,14 +272,13 @@ export async function initCommand(targetPath) {
|
|
|
275
272
|
}
|
|
276
273
|
const c = getAgentCount();
|
|
277
274
|
console.log(` ✅ ${c.total} agents installed (.citadel/agents/)
|
|
278
|
-
✅
|
|
279
|
-
✅
|
|
275
|
+
✅ 10 team files for phased loading (.citadel/teams/)
|
|
276
|
+
✅ 7 skills files — engineering standards (.citadel/skills/)
|
|
280
277
|
✅ Spec templates (.citadel/specs/)
|
|
281
278
|
✅ Project vault — live memory (.citadel/vault/)
|
|
282
279
|
✅ Getting started guide (.citadel/GETTING_STARTED.md)
|
|
283
280
|
|
|
284
281
|
IDE rules (auto-loaded — no config needed):
|
|
285
|
-
✅ AGENTS.md → Codex
|
|
286
282
|
✅ CLAUDE.md → Claude Code
|
|
287
283
|
✅ .cursorrules → Cursor
|
|
288
284
|
✅ GEMINI.md → Antigravity
|
|
@@ -300,7 +296,7 @@ ${'═'.repeat(56)}
|
|
|
300
296
|
✅ CITADEL is ready. Here's what to do:
|
|
301
297
|
|
|
302
298
|
1. Open this folder in your IDE
|
|
303
|
-
(
|
|
299
|
+
(Claude Code, Cursor, Antigravity, or Windsurf)
|
|
304
300
|
|
|
305
301
|
2. The AI already knows the rules — just start talking:
|
|
306
302
|
"I want to build [describe your idea]"
|