citadel-ai 1.4.3 → 1.5.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/README.md +11 -4
- package/dist/cli/ide-rules.js +36 -1
- package/dist/cli/ide-rules.js.map +1 -1
- package/dist/cli/init.js +108 -3
- package/dist/cli/init.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -57,7 +57,7 @@ CITADEL installs a governance layer into your AI IDE. It doesn't replace your AI
|
|
|
57
57
|
|
|
58
58
|
**Enforces safety checks before shipping.** 5 mandatory gates from inception to deployment. Security has veto power — no exceptions.
|
|
59
59
|
|
|
60
|
-
**Keeps project memory across sessions.** Decisions,
|
|
60
|
+
**Keeps project memory across sessions.** A vault of markdown files that the AI reads on session start and updates as it works. Decisions, architecture, code inventory, progress — all persisted. The AI doesn't start from scratch every time.
|
|
61
61
|
|
|
62
62
|
**Loads only what's needed.** Instead of dumping 42 agent profiles into context (and burning your token quota), CITADEL loads only the team relevant to the current phase. 88% less tokens.
|
|
63
63
|
|
|
@@ -72,7 +72,7 @@ CITADEL installs a governance layer into your AI IDE. It doesn't replace your AI
|
|
|
72
72
|
| Code quality | Hope for the best | Standards enforced: 200 lines/file, typed errors, no magic numbers |
|
|
73
73
|
| Review | You read it yourself (and miss things) | Independent checker agents with different perspective |
|
|
74
74
|
| Security | "We'll add auth later" | Security review at every gate. Veto power on deployment |
|
|
75
|
-
| Next session | AI forgot everything |
|
|
75
|
+
| Next session | AI forgot everything | Vault files persist: decisions, progress, code inventory |
|
|
76
76
|
| Token usage | Full context every message (~14K tokens) | Phased loading (~1,800 tokens per phase) |
|
|
77
77
|
|
|
78
78
|
---
|
|
@@ -136,8 +136,15 @@ your-project/
|
|
|
136
136
|
├── .citadel/
|
|
137
137
|
│ ├── agents/ ← 42 full agent personas (reference)
|
|
138
138
|
│ ├── teams/ ← 10 team files (phased loading by IDE)
|
|
139
|
+
│ ├── vault/ ← Live project memory (AI reads + writes)
|
|
140
|
+
│ │ ├── PROGRESS.md Phase, gates, what's done/next
|
|
141
|
+
│ │ ├── CONTEXT_SNAPSHOT.md Resume point for next session
|
|
142
|
+
│ │ ├── SESSION_LOG.md What happened, who did what
|
|
143
|
+
│ │ ├── DECISIONS.md Architecture + product decisions
|
|
144
|
+
│ │ ├── CODE_INVENTORY.md File map, patterns, dependencies
|
|
145
|
+
│ │ └── ARCHITECTURE.md System design, tech stack
|
|
139
146
|
│ ├── specs/ ← PRD, ADR, Security, Data Model, Growth
|
|
140
|
-
│ ├── memory/ ←
|
|
147
|
+
│ ├── memory/ ← Internal state (gitignored)
|
|
141
148
|
│ └── gates/ ← Gate tracking (gitignored)
|
|
142
149
|
```
|
|
143
150
|
|
|
@@ -164,7 +171,7 @@ Most AI frameworks give you **more agents**. CITADEL gives you **more discipline
|
|
|
164
171
|
|
|
165
172
|
- **Organization > single brain.** 42 agents with distinct roles, rules, and personalities — but loaded per phase, not all at once.
|
|
166
173
|
- **Governance > speed.** Questions before specs. Review before ship. Security veto before deploy.
|
|
167
|
-
- **Memory > amnesia.**
|
|
174
|
+
- **Memory > amnesia.** A vault of markdown files the AI reads on session start and updates as it works. Progress, decisions, code inventory, architecture — all live.
|
|
168
175
|
- **Efficiency > brute force.** Phased context loading means ~1,800 tokens per phase instead of ~14,000.
|
|
169
176
|
|
|
170
177
|
---
|
package/dist/cli/ide-rules.js
CHANGED
|
@@ -112,11 +112,46 @@ Read \`.citadel/teams/[domain]-checkers.md\` for the domain being reviewed.
|
|
|
112
112
|
2. KELSEY: deploy (zero-downtime)
|
|
113
113
|
3. CHARITY: observability
|
|
114
114
|
|
|
115
|
+
## MEMORY PROTOCOL (CRITICAL)
|
|
116
|
+
|
|
117
|
+
You MUST maintain project memory by reading and writing these files. This is how context survives across sessions.
|
|
118
|
+
|
|
119
|
+
### On EVERY session start:
|
|
120
|
+
1. Read \`.citadel/vault/PROGRESS.md\` — know where the project is
|
|
121
|
+
2. Read \`.citadel/vault/CONTEXT_SNAPSHOT.md\` — resume from last session
|
|
122
|
+
3. Read \`.citadel/vault/DECISIONS.md\` — don't contradict past decisions
|
|
123
|
+
|
|
124
|
+
### On EVERY phase transition or significant action:
|
|
125
|
+
1. Update \`.citadel/vault/PROGRESS.md\` — current phase, gate, what's done, what's next
|
|
126
|
+
2. Update \`.citadel/vault/SESSION_LOG.md\` — append what was done, by which agent, when
|
|
127
|
+
3. Update \`.citadel/vault/DECISIONS.md\` — append any architecture, tech, or product decision
|
|
128
|
+
|
|
129
|
+
### On EVERY session end (or when the user says "stop", "bye", "save"):
|
|
130
|
+
1. Write \`.citadel/vault/CONTEXT_SNAPSHOT.md\` — summary of current state, enough for the next session to resume without re-reading everything
|
|
131
|
+
|
|
132
|
+
### When code is written or modified:
|
|
133
|
+
1. Update \`.citadel/vault/CODE_INVENTORY.md\` — what files exist, what they do, key patterns
|
|
134
|
+
|
|
135
|
+
### Vault files:
|
|
136
|
+
|
|
137
|
+
| File | Purpose | When to read | When to write |
|
|
138
|
+
|------|---------|-------------|---------------|
|
|
139
|
+
| \`PROGRESS.md\` | Phase, gate, what's done/pending | Session start | Every phase change |
|
|
140
|
+
| \`CONTEXT_SNAPSHOT.md\` | Resume context for next session | Session start | Session end |
|
|
141
|
+
| \`SESSION_LOG.md\` | What happened, who did what | Never (it's a log) | After every action |
|
|
142
|
+
| \`DECISIONS.md\` | Architecture + product decisions | Session start | When decisions are made |
|
|
143
|
+
| \`CODE_INVENTORY.md\` | Files map, patterns, dependencies | When building/reviewing | When code changes |
|
|
144
|
+
| \`ARCHITECTURE.md\` | System design, tech stack, ADRs | When building | After architecture decisions |
|
|
145
|
+
|
|
146
|
+
⚠️ If these files are empty or missing, you are in a FRESH PROJECT. Start from Phase 1: Inception.
|
|
147
|
+
⚠️ If PROGRESS.md shows you're in Build phase, do NOT re-ask inception questions.
|
|
148
|
+
|
|
115
149
|
## COMMANDS
|
|
116
150
|
- "help" / "stuck" → Show status + next steps
|
|
117
|
-
- "status" →
|
|
151
|
+
- "status" → Read PROGRESS.md, show gate progress
|
|
118
152
|
- "build [feature]" → Start build
|
|
119
153
|
- "review" → Run checkers
|
|
154
|
+
- "snapshot" / "save" → Write CONTEXT_SNAPSHOT.md
|
|
120
155
|
- "@[agent]" → Talk to specific agent
|
|
121
156
|
|
|
122
157
|
## SPECS
|
|
@@ -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,EAAc,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGxF,4CAA4C;AAC5C,SAAS,SAAS,CAAC,CAAkB;IACnC,OAAO,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,UAAU,GAAG,CAAC;AACtE,CAAC;AAED,6CAA6C;AAC7C,SAAS,aAAa,CAAC,KAAa,EAAE,MAAyB;IAC7D,IAAI,OAAO,GAAG,KAAK,KAAK,MAAM,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,OAAO,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC;QACnD,OAAO,IAAI,KAAK,CAAC,CAAC,UAAU,MAAM,CAAC;QACnC,OAAO,IAAI,cAAc,CAAC,CAAC,KAAK,MAAM,CAAC;QACvC,OAAO,IAAI,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACxE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4CAA4C;AAC5C,SAAS,iBAAiB;IACxB,MAAM,CAAC,GAAG,aAAa,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE3C,kDAAkD;IAClD,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAE7C,IAAI,aAAa,GAAG,eAAe,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,MAAM;QAAE,aAAa,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC7D,aAAa,IAAI,qBAAqB,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,MAAM;QAAE,aAAa,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC;IAChF,aAAa,IAAI,uBAAuB,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,QAAQ;QAAE,aAAa,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC;IAElF,OAAO,kBAAkB,CAAC,CAAC,KAAK;;gDAEc,CAAC,CAAC,KAAK;+CACR,cAAc;;;;;;;;;;;;EAY3D,aAAa
|
|
1
|
+
{"version":3,"file":"ide-rules.js","sourceRoot":"","sources":["../../src/cli/ide-rules.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/init.js
CHANGED
|
@@ -48,6 +48,109 @@ function writeSpecTemplates(cp) {
|
|
|
48
48
|
writeFileSync(join(d, 'data-model.md'), '# Data Model\n\n## Entities\n## Relationships\n## Indexes\n## Migration Plan\n\n<!-- Designed by CODD, reviewed by DATE -->\n', 'utf-8');
|
|
49
49
|
writeFileSync(join(d, 'growth.md'), '# Growth Strategy\n\n## Metrics & KPIs\n## Analytics Plan\n## SEO Strategy\n## Growth Loops\n\n<!-- Owned by SEAN (CGO) -->\n', 'utf-8');
|
|
50
50
|
}
|
|
51
|
+
function writeVaultTemplates(cp) {
|
|
52
|
+
const d = join(cp, 'vault');
|
|
53
|
+
mkdirSync(d, { recursive: true });
|
|
54
|
+
writeFileSync(join(d, 'PROGRESS.md'), `# Project Progress
|
|
55
|
+
|
|
56
|
+
## Current State
|
|
57
|
+
- **Phase:** Inception (Gate 0)
|
|
58
|
+
- **Status:** Fresh project — no work started
|
|
59
|
+
- **Active agents:** None yet
|
|
60
|
+
|
|
61
|
+
## Gates
|
|
62
|
+
| Gate | Status | Notes |
|
|
63
|
+
|------|--------|-------|
|
|
64
|
+
| Gate 0 — Inception | ⬜ Pending | C-Suite needs to ask questions |
|
|
65
|
+
| Gate 1 — Pre-Design | ⬜ Pending | |
|
|
66
|
+
| Gate 2 — Pre-Build | ⬜ Pending | |
|
|
67
|
+
| Gate 3 — Pre-Ship | ⬜ Pending | |
|
|
68
|
+
| Gate 4 — Post-Deploy | ⬜ Pending | |
|
|
69
|
+
|
|
70
|
+
## Done
|
|
71
|
+
<!-- Nothing yet -->
|
|
72
|
+
|
|
73
|
+
## Next
|
|
74
|
+
- [ ] User describes what they want to build
|
|
75
|
+
- [ ] C-Suite asks questions
|
|
76
|
+
- [ ] Specs drafted after user answers
|
|
77
|
+
`, 'utf-8');
|
|
78
|
+
writeFileSync(join(d, 'CONTEXT_SNAPSHOT.md'), `# Context Snapshot
|
|
79
|
+
|
|
80
|
+
> This file is written at the end of each session. Read it first to resume.
|
|
81
|
+
|
|
82
|
+
## Last Updated
|
|
83
|
+
Never — fresh project.
|
|
84
|
+
|
|
85
|
+
## What We're Building
|
|
86
|
+
<!-- Not defined yet -->
|
|
87
|
+
|
|
88
|
+
## Key Decisions Made
|
|
89
|
+
<!-- None yet -->
|
|
90
|
+
|
|
91
|
+
## Where We Left Off
|
|
92
|
+
Project just initialized. Waiting for user to describe what they want to build.
|
|
93
|
+
|
|
94
|
+
## Open Questions
|
|
95
|
+
<!-- None yet -->
|
|
96
|
+
`, 'utf-8');
|
|
97
|
+
writeFileSync(join(d, 'SESSION_LOG.md'), `# Session Log
|
|
98
|
+
|
|
99
|
+
> Append-only. Every significant action is logged here.
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
### Session: Init
|
|
104
|
+
- **Date:** ${new Date().toISOString().split('T')[0]}
|
|
105
|
+
- **Agent:** ATLAS (Orchestrator)
|
|
106
|
+
- **Action:** Project initialized with CITADEL
|
|
107
|
+
- **Result:** 42 agents installed, specs templates created, vault ready
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
<!-- New sessions are appended below -->
|
|
112
|
+
`, 'utf-8');
|
|
113
|
+
writeFileSync(join(d, 'DECISIONS.md'), `# Decisions Log
|
|
114
|
+
|
|
115
|
+
> Every architecture, product, or tech decision is recorded here.
|
|
116
|
+
> Format: Decision — Reason — Alternatives considered — Date — Agent
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
<!-- Decisions will be appended by C-Suite agents -->
|
|
121
|
+
`, 'utf-8');
|
|
122
|
+
writeFileSync(join(d, 'CODE_INVENTORY.md'), `# Code Inventory
|
|
123
|
+
|
|
124
|
+
> Map of all project files, what they do, and key patterns.
|
|
125
|
+
> Updated by maker agents when code is written or modified.
|
|
126
|
+
|
|
127
|
+
## Files
|
|
128
|
+
<!-- No code files yet -->
|
|
129
|
+
|
|
130
|
+
## Key Patterns
|
|
131
|
+
<!-- No patterns established yet -->
|
|
132
|
+
|
|
133
|
+
## Dependencies
|
|
134
|
+
<!-- No dependencies yet -->
|
|
135
|
+
`, 'utf-8');
|
|
136
|
+
writeFileSync(join(d, 'ARCHITECTURE.md'), `# Architecture
|
|
137
|
+
|
|
138
|
+
> System design, tech stack decisions, and high-level structure.
|
|
139
|
+
> Updated by LINUS (CTO) and CODD (Data Architect).
|
|
140
|
+
|
|
141
|
+
## Tech Stack
|
|
142
|
+
<!-- Not decided yet -->
|
|
143
|
+
|
|
144
|
+
## System Design
|
|
145
|
+
<!-- Not decided yet -->
|
|
146
|
+
|
|
147
|
+
## Data Model Summary
|
|
148
|
+
<!-- Not decided yet -->
|
|
149
|
+
|
|
150
|
+
## API Design
|
|
151
|
+
<!-- Not decided yet -->
|
|
152
|
+
`, 'utf-8');
|
|
153
|
+
}
|
|
51
154
|
function writeGettingStarted(pp) {
|
|
52
155
|
writeFileSync(join(pp, '.citadel', 'GETTING_STARTED.md'), `# 🏰 Getting Started with CITADEL
|
|
53
156
|
|
|
@@ -136,7 +239,7 @@ export async function initCommand(targetPath) {
|
|
|
136
239
|
}
|
|
137
240
|
console.log('\n⏳ Installing CITADEL...\n');
|
|
138
241
|
// Scaffold
|
|
139
|
-
for (const d of [cp, join(cp, 'memory'), join(cp, 'gates'), join(cp, 'specs'), join(cp, 'agents'), join(cp, 'teams')]) {
|
|
242
|
+
for (const d of [cp, join(cp, 'memory'), join(cp, 'gates'), join(cp, 'specs'), join(cp, 'agents'), join(cp, 'teams'), join(cp, 'vault')]) {
|
|
140
243
|
mkdirSync(d, { recursive: true });
|
|
141
244
|
}
|
|
142
245
|
// Config
|
|
@@ -151,12 +254,13 @@ export async function initCommand(targetPath) {
|
|
|
151
254
|
writeAgentPersonas(cp);
|
|
152
255
|
writeTeamFiles(cp);
|
|
153
256
|
writeSpecTemplates(cp);
|
|
257
|
+
writeVaultTemplates(cp);
|
|
154
258
|
writeGettingStarted(pp);
|
|
155
259
|
// IDE rules
|
|
156
260
|
installAllIDEs(pp);
|
|
157
|
-
// .gitignore
|
|
261
|
+
// .gitignore (vault is committed, memory/gates are not)
|
|
158
262
|
const gi = join(pp, '.gitignore');
|
|
159
|
-
const giContent = '\n# CITADEL state\n.citadel/memory/\n.citadel/gates/\n';
|
|
263
|
+
const giContent = '\n# CITADEL state (vault + specs + agents are committed)\n.citadel/memory/\n.citadel/gates/\n';
|
|
160
264
|
if (existsSync(gi)) {
|
|
161
265
|
if (!readFileSync(gi, 'utf-8').includes('.citadel/memory'))
|
|
162
266
|
appendFileSync(gi, giContent);
|
|
@@ -168,6 +272,7 @@ export async function initCommand(targetPath) {
|
|
|
168
272
|
console.log(` ✅ ${c.total} agents installed (.citadel/agents/)
|
|
169
273
|
✅ 10 team files for phased loading (.citadel/teams/)
|
|
170
274
|
✅ Spec templates (.citadel/specs/)
|
|
275
|
+
✅ Project vault — live memory (.citadel/vault/)
|
|
171
276
|
✅ Getting started guide (.citadel/GETTING_STARTED.md)
|
|
172
277
|
|
|
173
278
|
IDE rules (auto-loaded — no config needed):
|
package/dist/cli/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC7F,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhE,SAAS,GAAG,CAAC,CAAS;IACpB,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClF,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAU;IACpC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC7B,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,cAAc,EAAE,CAAC;QACrC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE;YACjC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,EAAE;YACpC,KAAK,CAAC,CAAC,QAAQ,EAAE;YACjB,EAAE;YACF,oBAAoB,CAAC,CAAC,WAAW,EAAE;YACnC,oBAAoB,CAAC,CAAC,UAAU,GAAG;YACnC,cAAc,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,IAAI,EAAE;YAC7C,EAAE;YACF,gBAAgB;YAChB,CAAC,CAAC,WAAW;YACb,EAAE;YACF,UAAU;YACV,CAAC,CAAC,KAAK;YACP,EAAE;YACF,sBAAsB;YACtB,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,EAAE;YACF,eAAe;YACf,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,EAAE;YACF,kBAAkB;YAClB,CAAC,CAAC,YAAY;SACf,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAU;IACpC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC5B,SAAS,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClC,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,mQAAmQ,EAAE,OAAO,CAAC,CAAC;IAC/S,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,4EAA4E,EAAE,OAAO,CAAC,CAAC;IACxH,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE,iLAAiL,EAAE,OAAO,CAAC,CAAC;IAClO,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,+HAA+H,EAAE,OAAO,CAAC,CAAC;IAClL,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,+HAA+H,EAAE,OAAO,CAAC,CAAC;AAChL,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAU;IACrC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,oBAAoB,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuE3D,EAAE,OAAO,CAAC,CAAC;AACZ,CAAC;AAED,oBAAoB;AACpB,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,UAAmB;IACnD,MAAM,EAAE,GAAG,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAEtB,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,6CAA6C,CAAC,CAAC;QACtE,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;IACnG,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,WAAW;IACX,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
|