@nexus-framework/cli 0.1.3 โ†’ 0.2.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 CHANGED
@@ -2,19 +2,20 @@
2
2
 
3
3
  # ๐Ÿ”ฎ NEXUS CLI
4
4
 
5
- ### AI-Native Project Scaffolding
5
+ ### The AI-Native Development Framework
6
6
 
7
- **The open-source CLI by [GDA Africa](https://github.com/GDA-Africa) that generates production-ready, AI-optimized project structures โ€” so you ship faster and smarter.**
7
+ **The open-source CLI by [GDA Africa](https://github.com/GDA-Africa) that turns every project into an AI-powered workspace โ€” where coding agents understand your architecture, remember your decisions, and code with knowledge.**
8
8
 
9
9
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
10
10
  [![Node.js](https://img.shields.io/badge/Node.js-20+-339933?style=for-the-badge&logo=node.js&logoColor=white)](https://nodejs.org/)
11
- [![Vitest](https://img.shields.io/badge/Vitest-105_Passing-green?style=for-the-badge&logo=vitest&logoColor=white)](https://vitest.dev/)
11
+ [![Vitest](https://img.shields.io/badge/Vitest-190_Passing-green?style=for-the-badge&logo=vitest&logoColor=white)](https://vitest.dev/)
12
+ [![npm](https://img.shields.io/npm/v/@nexus-framework/cli?style=for-the-badge&logo=npm&logoColor=white&label=npm)](https://www.npmjs.com/package/@nexus-framework/cli)
12
13
  [![License](https://img.shields.io/badge/License-Apache_2.0-blue?style=for-the-badge)](LICENSE)
13
14
  [![PRs Welcome](https://img.shields.io/badge/PRs-Welcome-brightgreen?style=for-the-badge)](https://github.com/GDA-Africa/nexus-cli/pulls)
14
15
 
15
16
  ---
16
17
 
17
- *Where documentation drives development and AI agents are first-class citizens.*
18
+ *Where AI agents don't just write code โ€” they understand why.*
18
19
 
19
20
  </div>
20
21
 
@@ -22,20 +23,24 @@
22
23
 
23
24
  ## ๐ŸŒ About GDA Africa
24
25
 
25
- **GDA (Glenhalton Digital Agency)** is building the digital infrastructure for Africa's next generation of products and services. NEXUS CLI is GDA's open-source developer tool โ€” a scaffolding engine that generates intelligent project structures where AI and humans collaborate from day one.
26
+ **GDA (Glenhalton Digital Agency)** is building the digital infrastructure for Africa's next generation of products and services. NEXUS CLI is GDA's open-source developer framework โ€” the bridge between human intent and AI execution, giving every project a brain that coding agents can link to, learn from, and build upon.
26
27
 
27
28
  ---
28
29
 
29
30
  ## ๐ŸŽฏ Why NEXUS?
30
31
 
31
- Every new project starts with the same ritual: hours of boilerplate, fragmented configs, and zero documentation. NEXUS eliminates all of that.
32
+ Scaffolding tools generate files. NEXUS generates **understanding**.
33
+
34
+ Every project gets a documentation system AI agents can parse, a knowledge base they learn from, a project brain they check before every task, and a persona that makes them feel like a real teammate โ€” not a generic autocomplete.
32
35
 
33
36
  | Problem | NEXUS Solution |
34
37
  |---|---|
35
- | ๐Ÿ• Hours of setup and config guesswork to start a project | **2-minute interactive setup** with strategy-first questions and smart defaults |
36
- | ๐Ÿค– AI tools (Cursor, Copilot) have no project-wide context | **8 structured doc files** AI agents can parse, execute, and auto-populate |
37
- | ๐Ÿงช Tests and docs are always afterthoughts | **Generated from day one** โ€” test infrastructure, CI/CD, and documentation included |
38
- | ๐Ÿ”„ No conventions exist for AI-native development | **The first framework built for the AI era** โ€” bridging requirements and code generation |
38
+ | ๐Ÿค– AI tools (Cursor, Copilot, Windsurf) have no project-wide context | **NEXUS Knowledge System** โ€” AI first structured files AI agents read automatically, covering vision โ†’ architecture โ†’ implementation |
39
+ | ๏ฟฝ AI agents forget everything between sessions | **Progressive Knowledge Base** โ€” append-only memory AI agents scan before tasks and write to after discoveries |
40
+ | ๐Ÿ”„ AI agents don't know what to work on next | **Project Brain** (`index.md`) โ€” status matrix, feature backlog, progress log, and "What's Next" priority queue |
41
+ | ๐Ÿ˜ AI assistants feel generic and disconnected | **Agent Persona** โ€” configurable tone, verbosity, identity. Your AI calls itself "Nexus" and speaks with intent |
42
+ | ๏ฟฝ Hours of setup and config guesswork | **2-minute interactive setup** โ€” strategy-first questions, 6 frameworks, full toolchain, tests from day one |
43
+ | ๐Ÿ“š Docs and tests are always afterthoughts | **Generated from day one** โ€” tests, CI/CD, ESLint, Prettier, and 8 AI-readable doc files included |
39
44
 
40
45
  ---
41
46
 
@@ -45,22 +50,44 @@ Every new project starts with the same ritual: hours of boilerplate, fragmented
45
50
  <tr>
46
51
  <td width="50%">
47
52
 
48
- ### Core Capabilities
49
- - ๐Ÿง  **Strategy-First Setup** โ€” Asks about your goals, not just tech preferences
50
- - ๐Ÿ“ **Complete Scaffolding** โ€” Production-ready structure, not hello world
51
- - ๐Ÿ“š **NEXUS Doc System** โ€” 8 AI-optimized markdown files per project
52
- - ๐ŸŽฏ **Smart Defaults** โ€” Best practices baked in based on your choices
53
- - ๐Ÿงช **Test Infrastructure** โ€” Vitest config, example tests, and helpers included
53
+ ### ๐Ÿง  AI-Native Intelligence
54
+ - **NEXUS Doc System** โ€” 8 structured AI-readable docs per project
55
+ - **Project Brain** โ€” `index.md` drives what AI agents work on next
56
+ - **Knowledge Base** โ€” append-only memory that persists across sessions
57
+ - **Agent Persona** โ€” tone, verbosity, identity, custom directives
58
+ - **Onboarding Protocol** โ€” AI agents auto-populate docs on first run
59
+ - **Multi-Tool Support** โ€” Cursor, Copilot, Windsurf, Cline, Claude Code
60
+
61
+ </td>
62
+ <td width="50%">
63
+
64
+ ### โšก Production-Ready Scaffolding
65
+ - **6 Frameworks** โ€” Next.js, React+Vite, SvelteKit, Nuxt, Astro, Remix
66
+ - **Strategy-First Setup** โ€” asks about goals, not just tech preferences
67
+ - **Full Toolchain** โ€” TypeScript, ESLint, Prettier pre-configured
68
+ - **Test Infrastructure** โ€” Vitest/Jest config, example tests, helpers
69
+ - **CI/CD Templates** โ€” GitHub Actions workflows out of the box
70
+ - **Pattern Support** โ€” PWA, Offline-First, i18n, Theming, Real-time
71
+
72
+ </td>
73
+ </tr>
74
+ <tr>
75
+ <td width="50%">
76
+
77
+ ### ๐Ÿ”ง Lifecycle Commands
78
+ - **`nexus init`** โ€” scaffold a new project with full AI integration
79
+ - **`nexus adopt`** โ€” add NEXUS to any existing codebase
80
+ - **`nexus upgrade`** โ€” regenerate templates, preserve user work
81
+ - **`nexus repair`** โ€” fix missing or corrupted NEXUS files
54
82
 
55
83
  </td>
56
84
  <td width="50%">
57
85
 
58
- ### Production Ready
59
- - โšก **5 Frameworks** โ€” Next.js, React+Vite, SvelteKit, Nuxt, Astro
60
- - ๐Ÿ”ง **Full Toolchain** โ€” TypeScript, ESLint, Prettier pre-configured
61
- - ๐Ÿš€ **CI/CD Templates** โ€” GitHub Actions workflows out of the box
62
- - ๐Ÿ—๏ธ **Adopt Existing Projects** โ€” Add NEXUS to any codebase with `nexus adopt`
63
- - ๐Ÿ“ฆ **Strategy Patterns** โ€” PWA, Offline-First, i18n, Theming, Real-time
86
+ ### ๐Ÿ›ก๏ธ Smart File Management
87
+ - **YAML Frontmatter Tracking** โ€” knows which docs you've edited
88
+ - **Corruption Detection** โ€” finds empty files, broken JSON, missing metadata
89
+ - **Preserve-or-Replace Logic** โ€” never overwrites your populated docs
90
+ - **Manifest Recovery** โ€” upgrades without re-prompting
64
91
 
65
92
  </td>
66
93
  </tr>
@@ -85,7 +112,7 @@ nexus init my-app
85
112
  You'll be guided through an interactive setup:
86
113
 
87
114
  ```
88
- ๐Ÿ”ฎ NEXUS CLI v0.1.2 โ€” AI-Native Project Scaffolding
115
+ ๐Ÿ”ฎ NEXUS CLI v0.2.0 โ€” AI-Native Development Framework
89
116
 
90
117
  ? What are you building? โ€บ Web Application
91
118
  ? How will your app handle data? โ€บ Cloud First
@@ -95,6 +122,10 @@ You'll be guided through an interactive setup:
95
122
  ? Package manager? โ€บ npm
96
123
  ? Initialize a git repository? โ€บ Yes
97
124
  ? Install dependencies now? โ€บ Yes
125
+ ? ๐ŸŽญ What vibe should your AI have? โ€บ ๐Ÿ˜Š Friendly
126
+ ? ๐Ÿ“ How detailed should responses be? โ€บ โš–๏ธ Balanced
127
+ ? ๐Ÿค– I'm Nexus! What should I call myself? โ€บ Nexus
128
+ ? โœจ Custom personality note? โ€บ (skip)
98
129
 
99
130
  โœ” Project created successfully!
100
131
 
@@ -110,6 +141,15 @@ npm run dev
110
141
  # โ†’ Your app is running at http://localhost:3000
111
142
  ```
112
143
 
144
+ ### What Happens Next
145
+
146
+ Open the project in your AI coding tool (Cursor, Copilot, Windsurf, Cline). The AI agent will:
147
+ 1. **Detect the NEXUS instructions** automatically (`.cursorrules`, `.github/copilot-instructions.md`, etc.)
148
+ 2. **Read `index.md`** โ€” your project brain โ€” to understand status and priorities
149
+ 3. **Scan `knowledge.md`** โ€” the progressive memory โ€” for past decisions and gotchas
150
+ 4. **Check for template docs** โ€” if any have `status: template`, it will auto-populate them by scanning your codebase
151
+ 5. **Start working** from the "What's Next" section โ€” no more "what should I build?"
152
+
113
153
  ---
114
154
 
115
155
  ## ๐Ÿ“ฆ What You Get
@@ -118,19 +158,50 @@ Every generated project includes:
118
158
 
119
159
  | Output | What's Inside |
120
160
  |---|---|
121
- | `src/` | Framework-specific source code and landing page |
122
- | `.nexus/docs/` | 8 AI-optimized documentation files (vision, architecture, API contracts, test strategy, etc.) |
123
- | `.nexus/ai/` | AI agent instructions โ€” Copilot, Cursor, Windsurf, Cline all auto-detect these |
124
- | `tests/` | Vitest config, example tests, and test helpers |
161
+ | `src/` | Framework-specific source code and branded landing page |
162
+ | `.nexus/docs/` | **The NEXUS Doc System** โ€” 8 AI-readable files + project brain + knowledge base |
163
+ | `.nexus/ai/` | Master AI instructions โ€” the single source of truth for agent behavior |
164
+ | Tool configs | `.cursorrules`, `.windsurfrules`, `.clinerules`, `AGENTS.md`, `.github/copilot-instructions.md` โ€” each embeds full instructions |
165
+ | `tests/` | Vitest/Jest config, example tests, and test helpers |
125
166
  | `package.json` | Real dependencies, real scripts โ€” `npm run dev` works immediately |
126
167
  | CI/CD | GitHub Actions workflow for lint, test, and build |
127
168
  | Config | TypeScript, ESLint, Prettier, EditorConfig โ€” all pre-configured |
128
169
 
170
+ ### The NEXUS Doc System
171
+
172
+ | # | File | Purpose |
173
+ |---|------|---------|
174
+ | ๐Ÿง  | `index.md` | **Project Brain** โ€” status, backlog, progress, what's next |
175
+ | ๐Ÿ“š | `knowledge.md` | **Knowledge Base** โ€” append-only memory of decisions, gotchas, patterns |
176
+ | 1 | `01_vision.md` | Product requirements, user stories, success metrics |
177
+ | 2 | `02_architecture.md` | System design, tech stack, data flow |
178
+ | 3 | `03_data_contracts.md` | Database schemas, validation, relationships |
179
+ | 4 | `04_api_contracts.md` | Endpoints, interfaces, status codes |
180
+ | 5 | `05_business_logic.md` | Rules, algorithms, state machines |
181
+ | 6 | `06_test_strategy.md` | Coverage targets, test types, philosophy |
182
+ | 7 | `07_implementation.md` | Build order, file-by-file plan |
183
+ | 8 | `08_deployment.md` | Infrastructure, CI/CD, environment config |
184
+
185
+ ---
186
+
187
+ ## ๐ŸŽญ Agent Persona
188
+
189
+ NEXUS lets you configure how AI agents communicate when they're synced with your project.
190
+
191
+ | Option | Choices | Default |
192
+ |--------|---------|---------|
193
+ | **Tone** | ๐Ÿ‘” Professional ยท ๐Ÿ˜Š Friendly ยท ๐Ÿง  Witty ยท ๐Ÿง˜ Zen ยท ๐Ÿดโ€โ˜ ๏ธ Pirate | Friendly |
194
+ | **Verbosity** | โšก Concise ยท โš–๏ธ Balanced ยท ๐Ÿ“– Detailed | Balanced |
195
+ | **Identity** | Name the AI uses for itself (persists across upgrades) | Nexus |
196
+ | **Custom directive** | Any freeform personality instruction | โ€” |
197
+
198
+ When an AI agent reads the NEXUS instructions and sees the persona config, it adopts that personality. The user sees "Nexus" in responses โ€” their signal that the agent has read the docs, scanned the knowledge base, and is synced with the project brain.
199
+
129
200
  ---
130
201
 
131
202
  ## ๐Ÿ—๏ธ Adopt an Existing Project
132
203
 
133
- Already have a project? Add the NEXUS documentation system and AI config without touching your source code.
204
+ Already have a project? Add the NEXUS AI layer without touching your source code.
134
205
 
135
206
  ```bash
136
207
  cd my-existing-app
@@ -152,23 +223,45 @@ After adopting, your AI coding tool will auto-detect the NEXUS docs, scan your c
152
223
  | **SvelteKit** | 2.x | Svelte 5, file-based routing |
153
224
  | **Nuxt** | 3.x | Vue 3, auto-imports |
154
225
  | **Astro** | 5.x | Content-first, island architecture |
226
+ | **Remix** | 2.x | Nested routing, loaders/actions |
155
227
 
156
228
  ---
157
229
 
158
230
  ## ๐Ÿ—บ๏ธ Roadmap
159
231
 
160
- - [x] Core CLI with `nexus init` and `nexus adopt`
161
- - [x] Interactive prompt system (project type, data strategy, patterns, frameworks)
162
- - [x] Generator engine (structure, docs, config, tests, CI/CD, landing page, AI config)
163
- - [x] AI-native documentation system (8 structured files + onboarding protocol)
164
- - [x] 5 frontend frameworks supported
165
- - [x] 105 unit tests passing
232
+ ### โœ… Shipped
233
+ - [x] Core CLI with `nexus init`, `nexus adopt`, `nexus upgrade`, `nexus repair`
234
+ - [x] Interactive prompt system (7 modules including persona)
235
+ - [x] Generator engine (8 modules: structure, docs, config, tests, CI/CD, landing page, AI config, orchestrator)
236
+ - [x] AI-native documentation system (8 structured files + project brain + knowledge base + onboarding protocol)
237
+ - [x] Agent Persona system (tone, verbosity, identity, custom directives)
238
+ - [x] Multi-tool AI support (Cursor, Copilot, Windsurf, Cline, Claude Code)
239
+ - [x] 6 frontend frameworks supported
240
+ - [x] Smart file strategy (upgrade preserves user work, repair fixes corruption)
241
+ - [x] Progressive knowledge base (append-only, category-tagged, AI-scannable)
242
+ - [x] 190 unit tests passing
166
243
  - [x] Published to npm as `@nexus-framework/cli`
167
- - [ ] End-to-end testing of full `nexus init` flow
244
+ - [x] CI/CD with auto-publish to npm on version bump
245
+
246
+ ### ๐Ÿ”œ Next Up (v0.3.0)
247
+ - [ ] E2E tests โ€” generate a project, run its build, verify all files
248
+ - [ ] Framework-specific template content (not just landing pages)
249
+ - [ ] `nexus add <feature>` โ€” add capabilities to existing NEXUS projects
250
+ - [ ] Improve error messages and edge case handling
251
+
252
+ ### ๐Ÿ—“๏ธ Near-term
253
+ - [ ] Plugin system for custom generators
254
+ - [ ] Template marketplace / community templates
255
+ - [ ] Web-based project configurator
256
+ - [ ] Docker template support
168
257
  - [ ] Strategy pattern generators (PWA service workers, i18n setup, theming engine)
169
- - [ ] `nexus add <feature>` โ€” add capabilities to existing projects
170
- - [ ] `nexus validate` โ€” check projects against NEXUS standards
171
- - [ ] Community templates and plugin system
258
+
259
+ ### ๐Ÿ“‹ Backlog
260
+ - [ ] `nexus eject` โ€” remove NEXUS, keep code
261
+ - [ ] `nexus validate` โ€” check project against NEXUS standards
262
+ - [ ] `nexus migrate` โ€” migrate from CRA, etc.
263
+ - [ ] GitLab CI, Bitbucket Pipelines templates
264
+ - [ ] Pro tier features (paid AI-powered code generation)
172
265
 
173
266
  ---
174
267
 
@@ -179,7 +272,7 @@ We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
179
272
  ```bash
180
273
  git clone https://github.com/GDA-Africa/nexus-cli.git
181
274
  cd nexus-cli && yarn install
182
- yarn lint && yarn test
275
+ yarn lint && yarn test # 190 tests, zero lint errors
183
276
  ```
184
277
 
185
278
  ---
@@ -190,7 +283,7 @@ yarn lint && yarn test
190
283
 
191
284
  **Built with โค๏ธ by [GDA Africa](https://github.com/GDA-Africa)** โ€” Powering Africa's Digital Future
192
285
 
193
- *NEXUS CLI is the open-source foundation of the NEXUS framework. For questions, ideas, or collaboration, reach out to the GDA engineering team.*
286
+ *NEXUS CLI is the open-source foundation of the NEXUS framework โ€” where AI agents don't just write code, they understand your project. For questions, ideas, or collaboration, reach out to the GDA engineering team.*
194
287
 
195
288
  ---
196
289
 
@@ -1 +1 @@
1
- {"version":3,"file":"ai-config.d.ts","sourceRoot":"","sources":["../../src/generators/ai-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAO3D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,EAAE,CAcrE"}
1
+ {"version":3,"file":"ai-config.d.ts","sourceRoot":"","sources":["../../src/generators/ai-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAO3D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,aAAa,EAAE,CAcrE"}
@@ -61,25 +61,33 @@ function generateInstructions(config) {
61
61
 
62
62
  ---
63
63
 
64
- ## ๐Ÿง  YOUR BRAIN: \`.nexus/docs/index.md\`
64
+ ## โš ๏ธ Before You Do Anything โ€” 3 Mandatory Steps
65
65
 
66
- **READ \`.nexus/docs/index.md\` FIRST. EVERY TIME. NO EXCEPTIONS.**
66
+ You MUST complete these 3 steps before doing ANY work. This is not optional.
67
67
 
68
- That file is your project brain. It contains:
69
- - **Current Objective** โ€” what you should be working on right now
70
- - **Status Matrix** โ€” what's done, what's in progress, what's blocked
71
- - **Feature Backlog** โ€” the prioritized roadmap of what to build
72
- - **What Has Been Built** โ€” every module, file, and test that exists
73
- - **Progress Log** โ€” session-by-session changelog (your memory)
74
- - **What's Next** โ€” your prioritized TODO list
75
- - **Operating Rules** โ€” the rules you MUST follow
68
+ **Step 1. Read your brain โ€” \`.nexus/docs/index.md\`**
69
+
70
+ This file is your project brain. It tells you:
71
+ - What has been built (do not recreate it)
72
+ - What to work on next (the "What's Next" section)
73
+ - The current objective and status of every component
74
+
75
+ **Step 2. Scan the knowledge base โ€” \`.nexus/docs/knowledge.md\`**
76
+
77
+ This file is the project's long-term memory. It contains past decisions, bug fixes,
78
+ architecture insights, and gotchas discovered during development. Read the headings
79
+ to find entries relevant to your current task. This prevents you from repeating
80
+ mistakes or contradicting past decisions.
81
+
82
+ **Step 3. Read the relevant spec doc** from \`.nexus/docs/\` (01 through 08).
76
83
 
77
84
  \`\`\`
78
- RULE: Before EVERY task, read .nexus/docs/index.md
79
- RULE: After EVERY task, update .nexus/docs/index.md
80
- RULE: When the user asks "what should we work on?" โ†’ check the index
81
- RULE: When you finish a feature โ†’ update the index, then suggest the next item
82
- RULE: NEVER ask "what enhancements would you like?" โ€” the index has the answer
85
+ RULE: Before EVERY task โ†’ read .nexus/docs/index.md (your brain)
86
+ RULE: Before EVERY task โ†’ scan .nexus/docs/knowledge.md (your memory)
87
+ RULE: After EVERY task โ†’ update .nexus/docs/index.md
88
+ RULE: After EVERY task โ†’ append to .nexus/docs/knowledge.md if you learned something
89
+ RULE: NEVER ask "what should we work on?" โ†’ the index tells you
90
+ RULE: NEVER invent features โ†’ work from the feature backlog in the index
83
91
  \`\`\`
84
92
 
85
93
  ---
@@ -95,7 +103,6 @@ STOP. If ANY .nexus/docs/ file has status: template โ†’ you MUST populate it FIR
95
103
  Do NOT skip this step. Do NOT jump straight to the user's request.
96
104
  This is a hard requirement, not a suggestion.
97
105
  \\\`\\\`\\\`
98
- \\\`\\\`\\\`
99
106
 
100
107
  ### Steps:
101
108
 
@@ -197,7 +204,7 @@ but ALWAYS read \\\`.nexus/docs/index.md\\\` before every task.
197
204
  |-----------|---------|
198
205
  | \`src/\` | Application source code |
199
206
  | \`tests/\` | Unit, integration, and E2E tests |
200
- | \`.nexus/docs/\` | NEXUS documentation system (8 files) |
207
+ | \`.nexus/docs/\` | NEXUS documentation system (8 files + brain + knowledge) |
201
208
  | \`.nexus/\` | Project metadata, AI config, and manifest |
202
209
  | \`public/\` | Static assets |
203
210
  | \`.github/\` | CI/CD workflows, PR templates |
@@ -206,10 +213,12 @@ but ALWAYS read \\\`.nexus/docs/index.md\\\` before every task.
206
213
 
207
214
  ## NEXUS Documentation System
208
215
 
209
- This project includes 8 structured documentation files designed for both humans and AI:
216
+ This project includes structured documentation files designed for both humans and AI:
210
217
 
211
218
  | # | File | Purpose |
212
219
  |---|------|---------|
220
+ | ๐Ÿง  | \`.nexus/docs/index.md\` | **PROJECT BRAIN** โ€” status, backlog, progress, what's next |
221
+ | ๐Ÿ“š | \`.nexus/docs/knowledge.md\` | **KNOWLEDGE BASE** โ€” learned insights, patterns, gotchas |
213
222
  | 1 | \`.nexus/docs/01_vision.md\` | Product requirements, user stories, success metrics |
214
223
  | 2 | \`.nexus/docs/02_architecture.md\` | System design, tech stack decisions, data flow |
215
224
  | 3 | \`.nexus/docs/03_data_contracts.md\` | Database schemas, validation rules, relationships |
@@ -218,44 +227,82 @@ This project includes 8 structured documentation files designed for both humans
218
227
  | 6 | \`.nexus/docs/06_test_strategy.md\` | Coverage targets, test types, testing philosophy |
219
228
  | 7 | \`.nexus/docs/07_implementation.md\` | Build order, file-by-file implementation plan |
220
229
  | 8 | \`.nexus/docs/08_deployment.md\` | Infrastructure, CI/CD, environment configuration |
221
- | ๐Ÿง  | \`.nexus/docs/index.md\` | **PROJECT BRAIN** โ€” status, backlog, progress, what's next |
222
- | ๐Ÿ“š | \`.nexus/docs/knowledge.md\` | **KNOWLEDGE BASE** โ€” learned insights, patterns, gotchas |
223
230
 
224
231
  **Start with \`.nexus/docs/index.md\`** (your brain), then \`.nexus/docs/01_vision.md\`.
225
232
 
226
233
  ---
227
234
 
235
+ ## ๐Ÿ“š Knowledge Base Protocol
236
+
237
+ The knowledge base (\`.nexus/docs/knowledge.md\`) is the project's long-term memory.
238
+ It is **append-only** โ€” entries are never deleted, only added.
239
+
240
+ ### When to READ it:
241
+ - **Before every task** โ€” scan the headings for entries relevant to your work
242
+ - **Before architectural decisions** โ€” check for past decisions and their rationale
243
+ - **Before debugging** โ€” check for known gotchas and recurring bug patterns
244
+ - **Before choosing packages or patterns** โ€” check for past evaluations
245
+
246
+ ### When to WRITE to it:
247
+ - **After discovering something non-obvious** โ€” a bug root cause, an architecture insight, a package quirk
248
+ - **After making a decision that future agents should know about**
249
+ - **NOT for routine task completion** โ€” that goes in \`index.md\` Progress Log
250
+
251
+ ### Entry format:
252
+ \`\`\`
253
+ ## [YYYY-MM-DD] category โ€” title
254
+ Description of the discovery. One to three sentences max.
255
+ \`\`\`
256
+
257
+ ### Categories:
258
+ | Tag | Use When |
259
+ |-----|----------|
260
+ | \`architecture\` | Design decisions, structural choices, why X over Y |
261
+ | \`bug-fix\` | Recurring bugs, root causes, things to watch for |
262
+ | \`pattern\` | Code patterns that work well (or don't) in this project |
263
+ | \`package\` | Package quirks, version issues, config gotchas |
264
+ | \`performance\` | Bottlenecks found, optimizations applied |
265
+ | \`convention\` | Team/project conventions established during development |
266
+ | \`gotcha\` | Non-obvious traps, edge cases, things that wasted time |
267
+
268
+ ### Rules:
269
+ - **NEVER delete entries** โ€” the knowledge base is append-only
270
+ - **Keep entries short** โ€” 1-3 sentences, not essays
271
+ - **Use the format above** โ€” so future agents can scan headings quickly
272
+
273
+ ---
274
+
228
275
  ## Workflow โ€” How To Work On This Project
229
276
 
230
277
  ### Before EVERY task:
231
278
  1. **Read \`.nexus/docs/index.md\`** โ€” check "Current Objective" and "What's Next"
232
- 2. **Read the relevant spec doc** โ€” find details in the numbered \`.nexus/docs/\` files
233
- 3. **Scan \`.nexus/docs/knowledge.md\`** โ€” check for relevant past learnings before making decisions
279
+ 2. **Scan \`.nexus/docs/knowledge.md\`** โ€” check for relevant past learnings before making decisions
280
+ 3. **Read the relevant spec doc** โ€” find details in the numbered \`.nexus/docs/\` files
234
281
  4. **Check \`.nexus/docs/07_implementation.md\`** โ€” find the file-by-file plan
235
282
 
236
283
  ### During the task:
237
- 4. **Write the code** following the architecture in \`.nexus/docs/02_architecture.md\`
238
- 5. **Write tests** โ€” match the strategy in \`.nexus/docs/06_test_strategy.md\`
239
- 6. **Validate** โ€” \`${getValidationCommand(config)}\`
284
+ 5. **Write the code** following the architecture in \`.nexus/docs/02_architecture.md\`
285
+ 6. **Write tests** โ€” match the strategy in \`.nexus/docs/06_test_strategy.md\`
286
+ 7. **Validate** โ€” \`${getValidationCommand(config)}\`
240
287
 
241
288
  ### After EVERY task:
242
- 7. **Update \`.nexus/docs/index.md\`**:
289
+ 8. **Update \`.nexus/docs/index.md\`**:
243
290
  - Move completed items from "What's Next" to "Progress Log"
244
291
  - Update the "Status Matrix" and "What Has Been Built"
245
292
  - Set the "Current Objective" to the next priority item
246
- 8. **Update \`.nexus/docs/07_implementation.md\`** โ€” mark completed files/tasks
247
- 9. **Learn** โ€” if you discovered something non-obvious (bug pattern, architecture insight, package quirk, performance fix), append an entry to \`.nexus/docs/knowledge.md\`
248
- 10. **Commit** โ€” use conventional commits (\`feat:\`, \`fix:\`, etc.)
249
- 11. **Suggest the next task** from \`.nexus/docs/index.md\` "What's Next"
293
+ 9. **Update \`.nexus/docs/07_implementation.md\`** โ€” mark completed files/tasks
294
+ 10. **Learn** โ€” if you discovered something non-obvious (bug pattern, architecture insight, package quirk, performance fix), append an entry to \`.nexus/docs/knowledge.md\`
295
+ 11. **Commit** โ€” use conventional commits (\`feat:\`, \`fix:\`, etc.)
296
+ 12. **Suggest the next task** from \`.nexus/docs/index.md\` "What's Next"
250
297
 
251
298
  ### NEVER do this:
252
299
  - โŒ Ask "what enhancements would you like?" when the backlog has items
253
300
  - โŒ Invent random features not in the backlog
254
301
  - โŒ Skip updating the index after completing work
255
302
  - โŒ Treat docs as static โ€” they evolve with the project
256
-
257
- ---
258
-
303
+ - โŒ Ignore \`.nexus/docs/knowledge.md\` โ€” it prevents repeating mistakes
304
+ - โŒ Delete entries from \`.nexus/docs/knowledge.md\` โ€” it is append-only
305
+ ${getPersonaSection(config.persona)}
259
306
  *Generated by [NEXUS CLI](https://github.com/GDA-Africa/nexus-cli) v${version} โ€” AI-native project scaffolding by [GDA Africa](https://github.com/GDA-Africa)*
260
307
  `;
261
308
  return { path: '.nexus/ai/instructions.md', content };
@@ -279,65 +326,212 @@ function toolInstructionContent(config, toolName) {
279
326
  const frameworkDisplay = getFrameworkDisplay(config.frontendFramework);
280
327
  const testDisplay = config.testFramework === 'none' ? 'None configured' : config.testFramework;
281
328
  const patternsDisplay = config.appPatterns.length > 0 ? config.appPatterns.join(', ') : 'None selected';
329
+ const backendDisplay = config.backendFramework === 'none'
330
+ ? `${config.backendStrategy} (no framework)`
331
+ : `${config.backendFramework} (${config.backendStrategy})`;
282
332
  return `# ${config.displayName} โ€” ${toolName} Instructions
283
333
 
284
334
  > Auto-generated by [NEXUS CLI](https://github.com/GDA-Africa/nexus-cli) v${version}.
335
+ > This file contains the FULL project-aware instructions โ€” do NOT skip any section.
336
+ > The master copy lives at \`.nexus/ai/instructions.md\`.
337
+
338
+ ---
339
+
340
+ ## โš ๏ธ Before You Do Anything โ€” 3 Mandatory Steps
341
+
342
+ You MUST complete these 3 steps before doing ANY work. This is not optional.
285
343
 
286
- ## ๐Ÿง  YOUR BRAIN: \`.nexus/docs/index.md\`
344
+ **Step 1. Read your brain โ€” \`.nexus/docs/index.md\`**
287
345
 
288
- **Read it FIRST. Every time. No exceptions.**
346
+ READ \`.nexus/docs/index.md\` FIRST. EVERY TIME. NO EXCEPTIONS.
289
347
 
290
- It contains: current objective, feature backlog, progress log, what's next.
348
+ This file is your project brain. It tells you:
349
+ - What has been built (do not recreate it)
350
+ - What to work on next (the "What's Next" section)
351
+ - The current objective and status of every component
352
+ - The feature backlog โ€” your prioritized roadmap
353
+ - The progress log โ€” your session-by-session memory
354
+
355
+ **Step 2. Scan the knowledge base โ€” \`.nexus/docs/knowledge.md\`**
356
+
357
+ This file is the project's long-term memory. It contains past decisions, bug fixes,
358
+ architecture insights, and gotchas discovered during development. Read the headings
359
+ to find entries relevant to your current task. This prevents you from repeating
360
+ mistakes or contradicting past decisions.
361
+
362
+ **Step 3. Read the relevant spec doc** from \`.nexus/docs/\` (01 through 08).
291
363
 
292
364
  \`\`\`
293
- RULE: Before EVERY task โ†’ read .nexus/docs/index.md
365
+ RULE: Before EVERY task โ†’ read .nexus/docs/index.md (your brain)
366
+ RULE: Before EVERY task โ†’ scan .nexus/docs/knowledge.md (your memory)
294
367
  RULE: After EVERY task โ†’ update .nexus/docs/index.md
368
+ RULE: After EVERY task โ†’ append to .nexus/docs/knowledge.md if you learned something
295
369
  RULE: NEVER ask "what enhancements would you like?" โ†’ the index has the answer
296
- RULE: NEVER invent features โ†’ work from the feature backlog
370
+ RULE: NEVER invent features โ†’ work from the feature backlog in the index
297
371
  \`\`\`
298
372
 
299
- ## ๐Ÿšจ First-Time Onboarding
373
+ ---
374
+
375
+ ## ๐Ÿšจ CRITICAL โ€” Onboarding Protocol (First-Time Setup)
376
+
377
+ Each NEXUS doc has YAML frontmatter with a \\\`status\\\` field:
378
+ - \\\`template\\\` โ€” the doc is still in its default scaffolded state
379
+ - \\\`populated\\\` โ€” the doc has been filled in by a human or AI agent
380
+
381
+ \\\`\\\`\\\`
382
+ STOP. If ANY .nexus/docs/ file has status: template โ†’ you MUST populate it FIRST.
383
+ Do NOT skip this step. Do NOT jump straight to the user's request.
384
+ This is a hard requirement, not a suggestion.
385
+ \\\`\\\`\\\`
386
+
387
+ ### Steps:
388
+
389
+ 1. **Scan the codebase** โ€” read \\\`package.json\\\`, \\\`tsconfig.json\\\`, source files,
390
+ route definitions, data models, and test files to understand the project.
391
+
392
+ 2. **Ask the user about their vision** โ€” what are they building? Who are the users?
393
+ Fill in \\\`01_vision.md\\\` and \\\`05_business_logic.md\\\`.
394
+
395
+ 3. **Auto-fill what you can infer** from the code:
396
+ - \\\`02_architecture.md\\\` โ€” tech stack, directory structure, data flow
397
+ - \\\`03_data_contracts.md\\\` โ€” schemas, types, validation from source code
398
+ - \\\`04_api_contracts.md\\\` โ€” routes, endpoints, request/response shapes
399
+ - \\\`06_test_strategy.md\\\` โ€” existing test setup, coverage, test patterns
400
+ - \\\`08_deployment.md\\\` โ€” CI/CD config, environment variables, deploy targets
401
+
402
+ 4. **Build the implementation plan** (\\\`07_implementation.md\\\`):
403
+ - Turn features into concrete build phases
404
+ - Create a file-by-file plan
405
+ - Set the current phase based on what already exists
406
+
407
+ 5. **Update the frontmatter** of each doc you fill in:
408
+ \\\`\\\`\\\`yaml
409
+ status: populated
410
+ confidence: high
411
+ last_updated: "YYYY-MM-DD"
412
+ \\\`\\\`\\\`
300
413
 
301
- If ANY \`.nexus/docs/\` file has \`status: template\` in its YAML frontmatter:
414
+ 6. **Build the project brain** (\\\`.nexus/docs/index.md\\\`):
415
+ - Fill in the feature backlog from \\\`01_vision.md\\\`
416
+ - Update the status matrix
417
+ - Set "What's Next" to the first real feature
302
418
 
303
- **STOP. Populate the docs BEFORE doing anything else.**
304
- Read \`.nexus/ai/instructions.md\` for the full onboarding steps.
419
+ 7. **THEN proceed** with the user's original request.
305
420
 
306
- ## Project
421
+ ---
422
+
423
+ ## Project Identity
307
424
 
308
425
  | Field | Value |
309
426
  |-------|-------|
310
427
  | Name | ${config.displayName} |
311
428
  | Type | ${config.projectType} |
312
429
  | Framework | ${frameworkDisplay} |
313
- | Data | ${config.dataStrategy} |
430
+ | Data Strategy | ${config.dataStrategy} |
431
+ | Backend | ${backendDisplay} |
314
432
  | Testing | ${testDisplay} |
315
433
  | Package Manager | ${config.packageManager} |
316
434
  | Patterns | ${patternsDisplay} |
317
435
 
318
- ## Workflow
319
-
320
- 1. **Before:** Read \`.nexus/docs/index.md\` โ†’ check "What's Next". Scan \`.nexus/docs/knowledge.md\` for relevant past learnings
321
- 2. **During:** Write code + tests, validate with \`${getValidationCommand(config)}\`
322
- 3. **After:** Update \`.nexus/docs/index.md\` โ†’ move item to Progress Log. If you learned something non-obvious, append to \`.nexus/docs/knowledge.md\`
323
- 4. **Suggest:** The next item from the backlog
436
+ ---
324
437
 
325
438
  ## Code Rules
326
439
 
327
- - TypeScript strict mode โ€” no \`any\`, no implicit returns
328
- - ESM only โ€” \`import\`/\`export\`, never \`require()\`
329
- - Conventional Commits โ€” \`feat:\`, \`fix:\`, \`docs:\`, \`chore:\`
330
- - Test everything โ€” validate: \`${getValidationCommand(config)}\`
440
+ 1. **TypeScript strict mode** โ€” no \`any\`, no implicit returns
441
+ 2. **ESM only** โ€” \`import\`/\`export\`, never \`require()\`
442
+ 3. **File extensions in imports** โ€” always \`.js\` (e.g., \`import { foo } from './bar.js'\`)
443
+ 4. **Conventional Commits** โ€” \`feat:\`, \`fix:\`, \`docs:\`, \`chore:\`, \`test:\`, \`refactor:\`
444
+ 5. **Test everything** โ€” every feature needs tests
445
+ 6. **Validate after changes** โ€” \`${getValidationCommand(config)}\`
446
+
447
+ ---
448
+
449
+ ## NEXUS Documentation System
450
+
451
+ | # | File | Purpose |
452
+ |---|------|---------|
453
+ | ๐Ÿง  | \`.nexus/docs/index.md\` | **PROJECT BRAIN** โ€” status, backlog, progress, what's next |
454
+ | ๐Ÿ“š | \`.nexus/docs/knowledge.md\` | **KNOWLEDGE BASE** โ€” learned insights, patterns, gotchas |
455
+ | 1 | \`.nexus/docs/01_vision.md\` | Product requirements, user stories, success metrics |
456
+ | 2 | \`.nexus/docs/02_architecture.md\` | System design, tech stack, data flow |
457
+ | 3 | \`.nexus/docs/03_data_contracts.md\` | Database schemas, validation, relationships |
458
+ | 4 | \`.nexus/docs/04_api_contracts.md\` | Endpoints, interfaces, status codes |
459
+ | 5 | \`.nexus/docs/05_business_logic.md\` | Rules, algorithms, state machines |
460
+ | 6 | \`.nexus/docs/06_test_strategy.md\` | Coverage targets, test types, philosophy |
461
+ | 7 | \`.nexus/docs/07_implementation.md\` | Build order, file-by-file plan |
462
+ | 8 | \`.nexus/docs/08_deployment.md\` | Infrastructure, CI/CD, environment config |
463
+
464
+ ---
465
+
466
+ ## ๐Ÿ“š Knowledge Base Protocol
467
+
468
+ The knowledge base (\`.nexus/docs/knowledge.md\`) is the project's long-term memory.
469
+ It is **append-only** โ€” entries are never deleted, only added.
331
470
 
332
- ## Docs
471
+ ### When to READ it:
472
+ - **Before every task** โ€” scan the headings for entries relevant to your work
473
+ - **Before architectural decisions** โ€” check for past decisions and their rationale
474
+ - **Before debugging** โ€” check for known gotchas and recurring bug patterns
475
+ - **Before choosing packages or patterns** โ€” check for past evaluations
333
476
 
334
- | File | Purpose |
335
- |------|---------|
336
- | \`.nexus/docs/index.md\` | **๐Ÿง  Project brain** โ€” status, backlog, what's next |
337
- | \`.nexus/ai/instructions.md\` | Full AI rules, onboarding protocol, architecture |
338
- | \`.nexus/docs/knowledge.md\` | **๐Ÿ“š Knowledge base** โ€” learned insights, patterns, gotchas |
339
- | \`.nexus/docs/01_vision.md\` | Vision, features, personas |
340
- | \`.nexus/docs/07_implementation.md\` | Build order, file-by-file plan |
477
+ ### When to WRITE to it:
478
+ - **After discovering something non-obvious** โ€” a bug root cause, an architecture insight, a package quirk
479
+ - **After making a decision that future agents should know about**
480
+ - **NOT for routine task completion** โ€” that goes in \`index.md\` Progress Log
481
+
482
+ ### Entry format:
483
+ \\\`\\\`\\\`
484
+ ## [YYYY-MM-DD] category โ€” title
485
+ Description of the discovery. One to three sentences max.
486
+ \\\`\\\`\\\`
487
+
488
+ ### Categories:
489
+ | Tag | Use When |
490
+ |-----|----------|
491
+ | \`architecture\` | Design decisions, structural choices, why X over Y |
492
+ | \`bug-fix\` | Recurring bugs, root causes, things to watch for |
493
+ | \`pattern\` | Code patterns that work well (or don't) in this project |
494
+ | \`package\` | Package quirks, version issues, config gotchas |
495
+ | \`performance\` | Bottlenecks found, optimizations applied |
496
+ | \`convention\` | Team/project conventions established during development |
497
+ | \`gotcha\` | Non-obvious traps, edge cases, things that wasted time |
498
+
499
+ ### Rules:
500
+ - **NEVER delete entries** โ€” the knowledge base is append-only
501
+ - **Keep entries short** โ€” 1-3 sentences, not essays
502
+ - **Use the format above** โ€” so future agents can scan headings quickly
503
+
504
+ ---
505
+
506
+ ## Workflow โ€” How To Work On This Project
507
+
508
+ ### Before EVERY task:
509
+ 1. **Read \`.nexus/docs/index.md\`** โ€” check "Current Objective" and "What's Next"
510
+ 2. **Scan \`.nexus/docs/knowledge.md\`** โ€” check for relevant past learnings
511
+ 3. **Read the relevant spec doc** โ€” find details in the numbered docs
512
+ 4. **Check \`.nexus/docs/07_implementation.md\`** โ€” find the file-by-file plan
513
+
514
+ ### During the task:
515
+ 5. **Write the code** following the architecture in \`.nexus/docs/02_architecture.md\`
516
+ 6. **Write tests** โ€” match the strategy in \`.nexus/docs/06_test_strategy.md\`
517
+ 7. **Validate** โ€” \`${getValidationCommand(config)}\`
518
+
519
+ ### After EVERY task:
520
+ 8. **Update \`.nexus/docs/index.md\`** โ€” move items to Progress Log, update status
521
+ 9. **Update \`.nexus/docs/07_implementation.md\`** โ€” mark completed files/tasks
522
+ 10. **Learn** โ€” if you discovered something non-obvious, append an entry to \`.nexus/docs/knowledge.md\`
523
+ 11. **Commit** โ€” conventional commits (\`feat:\`, \`fix:\`, etc.)
524
+ 12. **Suggest the next task** from \`.nexus/docs/index.md\` "What's Next"
525
+
526
+ ### NEVER do this:
527
+ - โŒ Ask "what enhancements would you like?" when the backlog has items
528
+ - โŒ Invent random features not in the backlog
529
+ - โŒ Skip updating the index after completing work
530
+ - โŒ Treat docs as static โ€” they evolve with the project
531
+ - โŒ Ignore \`.nexus/docs/knowledge.md\` โ€” it prevents repeating mistakes
532
+ - โŒ Delete entries from \`.nexus/docs/knowledge.md\` โ€” it is append-only
533
+ ${getPersonaSection(config.persona)}
534
+ *Generated by [NEXUS CLI](https://github.com/GDA-Africa/nexus-cli) v${version}*
341
535
  `;
342
536
  }
343
537
  function generateCursorRules(config) {
@@ -380,4 +574,59 @@ function getValidationCommand(config) {
380
574
  const testCmd = config.testFramework !== 'none' ? ` && ${runPrefix} test` : '';
381
575
  return `npx tsc --noEmit${testCmd} && ${runPrefix} lint`;
382
576
  }
577
+ /**
578
+ * Build the ๐ŸŽญ Agent Persona instruction section.
579
+ *
580
+ * This block tells the AI agent HOW to communicate with the user.
581
+ * When identity is a non-empty string, the agent refers to itself by that name.
582
+ * Tone descriptions are written for older LLMs โ€” explicit and concrete.
583
+ */
584
+ function getPersonaSection(persona) {
585
+ const toneGuide = {
586
+ professional: 'Be direct, precise, and business-appropriate. Avoid slang, jokes, and filler. ' +
587
+ 'Use clear technical language. Keep responses structured with bullet points or numbered lists when appropriate.',
588
+ friendly: 'Be warm, encouraging, and approachable. Use a conversational tone โ€” like a helpful teammate. ' +
589
+ 'Celebrate wins, be supportive when things go wrong, and explain things patiently.',
590
+ witty: 'Be clever and playful. Drop the occasional pun or pop-culture reference โ€” but never at the expense of clarity. ' +
591
+ 'Keep the humor light and nerdy. Think "friendly senior dev who happens to be hilarious."',
592
+ zen: 'Be calm, minimalist, and contemplative. Use short sentences. Favor clarity over verbosity. ' +
593
+ 'Treat code as craft and the project as a garden to tend. Avoid urgency and noise.',
594
+ pirate: 'Arr! Ye be a swashbuckling code pirate sailing the digital seas. ' +
595
+ 'Use nautical metaphors (bugs are "barnacles," deploys are "setting sail," tests are "checking the rigging"). ' +
596
+ 'Keep it fun but still technically accurate. Never sacrifice clarity for the bit.',
597
+ };
598
+ const verbosityGuide = {
599
+ concise: 'Keep responses short and focused. Lead with the answer. Skip preamble. ' +
600
+ 'Only add context if the user asks or the situation is ambiguous.',
601
+ balanced: 'Provide enough context to understand the "why" without over-explaining. ' +
602
+ 'One or two sentences of context, then the solution. Add detail when the topic is complex.',
603
+ detailed: 'Give thorough explanations. Walk through your reasoning. Explain trade-offs. ' +
604
+ 'Include examples and edge cases. Great for learning and onboarding.',
605
+ };
606
+ const identityLine = persona.identity
607
+ ? `**You are ${persona.identity}** โ€” the AI-powered project partner. Refer to yourself as "${persona.identity}" in responses. ` +
608
+ `When users see the name "${persona.identity}," they know the AI agent has read and understood ` +
609
+ 'the NEXUS documentation system. This is your signal that you are synced with the project brain. ' +
610
+ `This name persists across upgrades and repairs โ€” the user chose "${persona.identity}" and it stays.`
611
+ : 'Do not refer to yourself by any special name. Respond as a standard AI assistant.';
612
+ const customLine = persona.customDirective
613
+ ? `\n**Custom directive from the developer:** "${persona.customDirective}"\n`
614
+ : '';
615
+ return `
616
+ ## ๐ŸŽญ Agent Persona
617
+
618
+ This section defines how you communicate with the user. Follow these personality directives in ALL responses.
619
+
620
+ ### Identity
621
+ ${identityLine}
622
+
623
+ ### Tone: ${persona.tone}
624
+ ${toneGuide[persona.tone] ?? toneGuide['friendly']}
625
+
626
+ ### Verbosity: ${persona.verbosity}
627
+ ${verbosityGuide[persona.verbosity] ?? verbosityGuide['balanced']}
628
+ ${customLine}
629
+ ---
630
+ `;
631
+ }
383
632
  //# sourceMappingURL=ai-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-config.js","sourceRoot":"","sources":["../../src/generators/ai-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-config.js","sourceRoot":"","sources":["../../src/generators/ai-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAehE;;GAEG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDxE;AAMD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CA4Bf;AA0BD,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,CAAC;AAmBjD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAuBtE;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,eAAe,CAAC,CAgF1B;AAED,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,wFAAwF;IACxF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,yCAAyC;IACzC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,eAAe,CAAC,CAE1B;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,eAAe,CAAC,CAE1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAItD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAehE;;GAEG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDxE;AAMD;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,IAAI,CAAC,CA4Bf;AA0BD,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,CAAC;AAmBjD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAuBtE;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CACvC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,eAAe,CAAC,CAgF1B;AAED,oEAAoE;AACpE,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,wFAAwF;IACxF,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,yCAAyC;IACzC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,eAAe,CAAC,CAE1B;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,eAAe,CAAC,CAE1B"}
@@ -7,6 +7,7 @@
7
7
  import path from 'node:path';
8
8
  import { execa } from 'execa';
9
9
  import ora from 'ora';
10
+ import { DEFAULT_PERSONA } from '../types/config.js';
10
11
  import { logger, writeGeneratorResult, readFile, fileExists, writeFile, ensureDirectory, getInstallCommand, gitInit, toDisplayName } from '../utils/index.js';
11
12
  import { generateAiConfig } from './ai-config.js';
12
13
  import { generateCiCd } from './ci-cd.js';
@@ -273,6 +274,7 @@ function buildAdoptConfig(targetDir, info) {
273
274
  packageManager: mapPackageManager(info.packageManager),
274
275
  git: true,
275
276
  installDeps: false,
277
+ persona: DEFAULT_PERSONA,
276
278
  };
277
279
  }
278
280
  function mapFramework(detected) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,GAAG,MAAM,KAAK,CAAC;AAGtB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,iBAAiB,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG9J,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAmB;IACvD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAEpE,MAAM,OAAO,GAAG,GAAG,CAAC,iCAAiC,CAAC,CAAC,KAAK,EAAE,CAAC;IAE/D,IAAI,CAAC;QACH,oCAAoC;QACpC,MAAM,WAAW,GAAyB,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAEtE,MAAM,KAAK,GAAoB;YAC7B,mBAAmB,CAAC,MAAM,CAAC;YAC3B,iBAAiB,EAAE;YACnB,cAAc,CAAC,MAAM,CAAC;YACtB,GAAG,YAAY,CAAC,MAAM,CAAC;YACvB,GAAG,eAAe,CAAC,MAAM,CAAC;YAC1B,GAAG,aAAa,CAAC,MAAM,CAAC;YACxB,GAAG,YAAY,CAAC,MAAM,CAAC;YACvB,GAAG,mBAAmB,CAAC,MAAM,CAAC;YAC9B,GAAG,gBAAgB,CAAC,MAAM,CAAC;SAC5B,CAAC;QAEF,2BAA2B;QAC3B,MAAM,oBAAoB,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC5D,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAEhD,uBAAuB;QACvB,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC5D,MAAM,cAAc,GAAG,GAAG,CAAC,gCAAgC,MAAM,CAAC,cAAc,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YAE/F,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC7C,MAAM,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;gBAC7C,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,GAAG,CAAC,gCAAgC,CAAC,CAAC,KAAK,EAAE,CAAC;YACjE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;YAC3C,IAAI,OAAO,EAAE,CAAC;gBACZ,UAAU,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,QAAQ;QACR,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC3C,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;oEAEoE;AAEpE;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,SAAiB,EACjB,WAAwB;IAExB,MAAM,OAAO,GAAG,GAAG,CAAC,+CAA+C,CAAC,CAAC,KAAK,EAAE,CAAC;IAE7E,IAAI,CAAC;QACH,yDAAyD;QACzD,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAExD,wBAAwB;QACxB,MAAM,WAAW,GAAyB;YACxC,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClB,EAAE,IAAI,EAAE,aAAa,EAAE;YACvB,EAAE,IAAI,EAAE,WAAW,EAAE;YACrB,EAAE,IAAI,EAAE,SAAS,EAAE;SACpB,CAAC;QAEF,4CAA4C;QAC5C,MAAM,KAAK,GAAoB;YAC7B,GAAG,YAAY,CAAC,MAAM,CAAC;YACvB,GAAG,gBAAgB,CAAC,MAAM,CAAC;SAC5B,CAAC;QAEF,gBAAgB;QAChB,MAAM,oBAAoB,CAAC,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC1D,OAAO,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9B,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AA6BD,mFAAmF;AACnF,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IAClD,2BAA2B;IAC3B,iBAAiB;IACjB,sBAAsB;IACtB,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,WAAW;IACX,iCAAiC;CAClC,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,0BAA0B;CAC3B,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,6CAA6C,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,OAAe;IAC3D,2BAA2B;IAC3B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE7C,wBAAwB;IACxB,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,iFAAiF;IACjF,IAAI,QAAQ,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5C,yBAAyB;QACzB,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/C,IAAI,YAAY,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;IACvC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,SAAiB,EACjB,MAAmB,EACnB,IAAmB;IAEnB,2BAA2B;IAC3B,MAAM,WAAW,GAAyB;QACxC,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClB,EAAE,IAAI,EAAE,aAAa,EAAE;QACvB,EAAE,IAAI,EAAE,WAAW,EAAE;QACrB,EAAE,IAAI,EAAE,SAAS,EAAE;KACpB,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,0CAA0C;IAC1C,MAAM,UAAU,GAAoB;QAClC,GAAG,YAAY,CAAC,MAAM,CAAC;QACvB,GAAG,gBAAgB,CAAC,MAAM,CAAC;KAC5B,CAAC;IAEF,MAAM,MAAM,GAAoB;QAC9B,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,EAAE;QACb,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;KACb,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE1C,qCAAqC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,8BAA8B;QAC9B,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,eAAe,IAAI,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAElD,+CAA+C;QAC/C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QAED,yDAAyD;QAEzD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,8CAA8C;YAC9C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,SAAS;QACX,CAAC;QAED,iDAAiD;QAEjD,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,SAAS;QACX,CAAC;QAED,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,SAAS;QACX,CAAC;QAED,wCAAwC;QACxC,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAcD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,SAAiB,EACjB,MAAmB;IAEnB,OAAO,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAiB,EACjB,MAAmB;IAEnB,OAAO,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,SAAiB,EACjB,IAAiB;IAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACnD,OAAO;QACL,WAAW,EAAE,IAAI;QACjB,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC;QAChC,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,aAAa;QAC3B,WAAW,EAAE,EAAE;QACf,iBAAiB,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;QAC/C,eAAe,EAAE,YAAY;QAC7B,gBAAgB,EAAE,MAAM;QACxB,aAAa,EAAE,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC;QACnD,cAAc,EAAE,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC;QACtD,GAAG,EAAE,IAAI;QACT,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE,eAAe;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,QAAuB;IAC3C,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;IAEvF,IAAI,QAAQ,IAAK,KAA2B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChE,OAAO,QAAc,CAAC;IACxB,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,eAAe;AAClC,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAuB;IAC/C,IAAI,QAAQ,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC3C,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACvC,OAAO,QAAQ,CAAC,CAAC,UAAU;AAC7B,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAuB;IAChD,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACvC,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACvC,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUtD;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAuD3E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAWtD;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA2D3E"}
@@ -10,6 +10,7 @@ import { promptDataStrategy } from './data-strategy.js';
10
10
  import { promptFeatures } from './features.js';
11
11
  import { promptFramework } from './frameworks.js';
12
12
  import { promptPatterns } from './patterns.js';
13
+ import { promptPersona } from './persona.js';
13
14
  import { promptProjectType } from './project-type.js';
14
15
  /**
15
16
  * Run the full interactive prompt flow and return a complete NexusConfig.
@@ -51,6 +52,8 @@ export async function runPrompts(initialName) {
51
52
  const frontendFramework = await promptFramework(projectType);
52
53
  // 6. Features & extras
53
54
  const { testFramework, packageManager, git, installDeps } = await promptFeatures();
55
+ // 7. AI agent persona
56
+ const persona = await promptPersona();
54
57
  // Assemble config
55
58
  const config = {
56
59
  projectName,
@@ -65,6 +68,7 @@ export async function runPrompts(initialName) {
65
68
  packageManager: packageManager ?? detectPackageManager(),
66
69
  git,
67
70
  installDeps,
71
+ persona,
68
72
  };
69
73
  return config;
70
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,WAAoB;IACnD,8BAA8B;IAC9B,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,GAAG,MAAM,KAAK,CAAC;YACpB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE;gBACxB,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBACxC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;YAClE,CAAC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,uBAAuB,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,GAAG,WAAW,CAAC;IACxB,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAE3C,kBAAkB;IAClB,MAAM,WAAW,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAE9C,mBAAmB;IACnB,MAAM,YAAY,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAEhD,0BAA0B;IAC1B,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAE3C,eAAe;IACf,MAAM,iBAAiB,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IAE7D,uBAAuB;IACvB,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,EAAE,CAAC;IAEnF,kBAAkB;IAClB,MAAM,MAAM,GAAgB;QAC1B,WAAW;QACX,WAAW;QACX,WAAW;QACX,YAAY;QACZ,WAAW;QACX,iBAAiB;QACjB,eAAe,EAAE,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;QAClE,gBAAgB,EAAE,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;QAC5D,aAAa;QACb,cAAc,EAAE,cAAc,IAAI,oBAAoB,EAAE;QACxD,GAAG;QACH,WAAW;KACZ,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,WAAoB;IACnD,8BAA8B;IAC9B,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,GAAG,MAAM,KAAK,CAAC;YACpB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,cAAc;YACvB,QAAQ,EAAE,CAAC,GAAW,EAAE,EAAE;gBACxB,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBACxC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;YAClE,CAAC;SACF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,uBAAuB,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,GAAG,WAAW,CAAC;IACxB,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAE3C,kBAAkB;IAClB,MAAM,WAAW,GAAG,MAAM,iBAAiB,EAAE,CAAC;IAE9C,mBAAmB;IACnB,MAAM,YAAY,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAEhD,0BAA0B;IAC1B,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAE3C,eAAe;IACf,MAAM,iBAAiB,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IAE7D,uBAAuB;IACvB,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,MAAM,cAAc,EAAE,CAAC;IAEnF,sBAAsB;IACtB,MAAM,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;IAEtC,kBAAkB;IAClB,MAAM,MAAM,GAAgB;QAC1B,WAAW;QACX,WAAW;QACX,WAAW;QACX,YAAY;QACZ,WAAW;QACX,iBAAiB;QACjB,eAAe,EAAE,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;QAClE,gBAAgB,EAAE,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;QAC5D,aAAa;QACb,cAAc,EAAE,cAAc,IAAI,oBAAoB,EAAE;QACxD,GAAG;QACH,WAAW;QACX,OAAO;KACR,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * NEXUS CLI - Persona Prompt
3
+ *
4
+ * Lets the user configure the personality of AI agents that read
5
+ * the NEXUS instruction files. This makes the AI "feel" like a
6
+ * project-aware teammate rather than a generic assistant.
7
+ *
8
+ * Options:
9
+ * - Tone (professional, friendly, witty, zen, pirate)
10
+ * - Verbosity (concise, balanced, detailed)
11
+ * - Identity (name the AI uses โ€” defaults to "Nexus", user can change it)
12
+ * - Custom directive (freeform personality instruction)
13
+ */
14
+ import type { NexusPersona } from '../types/config.js';
15
+ export declare function promptPersona(): Promise<NexusPersona>;
16
+ //# sourceMappingURL=persona.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona.d.ts","sourceRoot":"","sources":["../../src/prompts/persona.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAA6B,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlF,wBAAsB,aAAa,IAAI,OAAO,CAAC,YAAY,CAAC,CAkE3D"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * NEXUS CLI - Persona Prompt
3
+ *
4
+ * Lets the user configure the personality of AI agents that read
5
+ * the NEXUS instruction files. This makes the AI "feel" like a
6
+ * project-aware teammate rather than a generic assistant.
7
+ *
8
+ * Options:
9
+ * - Tone (professional, friendly, witty, zen, pirate)
10
+ * - Verbosity (concise, balanced, detailed)
11
+ * - Identity (name the AI uses โ€” defaults to "Nexus", user can change it)
12
+ * - Custom directive (freeform personality instruction)
13
+ */
14
+ import { select, input } from '@inquirer/prompts';
15
+ import { DEFAULT_PERSONA } from '../types/config.js';
16
+ export async function promptPersona() {
17
+ const tone = await select({
18
+ message: '๐ŸŽญ What vibe should your AI assistant have?',
19
+ choices: [
20
+ {
21
+ value: 'professional',
22
+ name: '๐Ÿ‘” Professional',
23
+ description: 'Straight to the point. Corporate-friendly.',
24
+ },
25
+ {
26
+ value: 'friendly',
27
+ name: '๐Ÿ˜Š Friendly',
28
+ description: 'Warm and encouraging. Great for solo devs.',
29
+ },
30
+ {
31
+ value: 'witty',
32
+ name: '๐Ÿง  Witty',
33
+ description: 'Clever and playful. Drops the occasional pun.',
34
+ },
35
+ {
36
+ value: 'zen',
37
+ name: '๐Ÿง˜ Zen',
38
+ description: 'Calm and minimalist. Code is a garden.',
39
+ },
40
+ {
41
+ value: 'pirate',
42
+ name: '๐Ÿดโ€โ˜ ๏ธ Pirate',
43
+ description: 'Arr! Swashbuckling code on the high seas.',
44
+ },
45
+ ],
46
+ default: DEFAULT_PERSONA.tone,
47
+ });
48
+ const verbosity = await select({
49
+ message: '๐Ÿ“ How detailed should responses be?',
50
+ choices: [
51
+ {
52
+ value: 'concise',
53
+ name: 'โšก Concise',
54
+ description: 'Short and sweet. Just the essentials.',
55
+ },
56
+ {
57
+ value: 'balanced',
58
+ name: 'โš–๏ธ Balanced',
59
+ description: 'Enough detail to understand, not too much to overwhelm.',
60
+ },
61
+ {
62
+ value: 'detailed',
63
+ name: '๐Ÿ“– Detailed',
64
+ description: 'Thorough explanations. Great for learning.',
65
+ },
66
+ ],
67
+ default: DEFAULT_PERSONA.verbosity,
68
+ });
69
+ const identity = await input({
70
+ message: '๐Ÿค– Your AI assistant\'s name is "Nexus". Press Enter to keep it, or type a new name:',
71
+ default: DEFAULT_PERSONA.identity,
72
+ });
73
+ const customDirective = await input({
74
+ message: 'โœจ Any custom personality note? (optional โ€” press Enter to skip)',
75
+ default: '',
76
+ });
77
+ return { tone, verbosity, identity: identity.trim(), customDirective: customDirective.trim() };
78
+ }
79
+ //# sourceMappingURL=persona.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persona.js","sourceRoot":"","sources":["../../src/prompts/persona.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAY;QACnC,OAAO,EAAE,6CAA6C;QACtD,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,4CAA4C;aAC1D;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,4CAA4C;aAC1D;YACD;gBACE,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,+CAA+C;aAC7D;YACD;gBACE,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wCAAwC;aACtD;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,2CAA2C;aACzD;SACF;QACD,OAAO,EAAE,eAAe,CAAC,IAAI;KAC9B,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAiB;QAC7C,OAAO,EAAE,sCAAsC;QAC/C,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,WAAW;gBACjB,WAAW,EAAE,uCAAuC;aACrD;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,yDAAyD;aACvE;YACD;gBACE,KAAK,EAAE,UAAU;gBACjB,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,4CAA4C;aAC1D;SACF;QACD,OAAO,EAAE,eAAe,CAAC,SAAS;KACnC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC;QAC3B,OAAO,EAAE,sFAAsF;QAC/F,OAAO,EAAE,eAAe,CAAC,QAAQ;KAClC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC;QAClC,OAAO,EAAE,iEAAiE;QAC1E,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC;IAEH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;AACjG,CAAC"}
@@ -19,6 +19,29 @@ export type BackendStrategy = 'integrated' | 'separate' | 'serverless' | 'baas';
19
19
  export type TestFramework = 'vitest' | 'jest' | 'none';
20
20
  /** Supported package managers */
21
21
  export type PackageManager = 'npm' | 'yarn' | 'pnpm';
22
+ /** Agent communication tone */
23
+ export type AgentTone = 'professional' | 'friendly' | 'witty' | 'zen' | 'pirate';
24
+ /** Agent communication style */
25
+ export type AgentVerbosity = 'concise' | 'balanced' | 'detailed';
26
+ /**
27
+ * NEXUS Persona โ€” configures how AI agents communicate with the user.
28
+ *
29
+ * When an AI agent reads the NEXUS instructions, it adopts this persona
30
+ * so the user knows the agent is "synced with the NEXUS brain."
31
+ * The agent refers to itself by the chosen identity name and speaks in the chosen tone.
32
+ */
33
+ export interface NexusPersona {
34
+ /** How the agent speaks โ€” sets the overall vibe */
35
+ tone: AgentTone;
36
+ /** How much detail the agent provides in responses */
37
+ verbosity: AgentVerbosity;
38
+ /** The name the agent uses to refer to itself. Default: "Nexus". Empty string = no custom name. */
39
+ identity: string;
40
+ /** Optional custom directive โ€” freeform personality instruction */
41
+ customDirective: string;
42
+ }
43
+ /** Default persona โ€” friendly, balanced, identifies as Nexus */
44
+ export declare const DEFAULT_PERSONA: NexusPersona;
22
45
  /** Full project configuration resolved from user prompts */
23
46
  export interface NexusConfig {
24
47
  /** Slug used for folder name & package.json name (e.g. "todo-list-app") */
@@ -35,6 +58,8 @@ export interface NexusConfig {
35
58
  packageManager: PackageManager;
36
59
  git: boolean;
37
60
  installDeps: boolean;
61
+ /** AI agent personality โ€” how agents communicate when synced with the NEXUS brain */
62
+ persona: NexusPersona;
38
63
  }
39
64
  /** Partial config for incremental prompt building */
40
65
  export type PartialNexusConfig = Partial<NexusConfig> & {
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,8BAA8B;AAC9B,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5E,4BAA4B;AAC5B,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,QAAQ,CAAC;AAEnF,gCAAgC;AAChC,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,eAAe,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,GAAG,WAAW,CAAC;AAEpG,oCAAoC;AACpC,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnG,mCAAmC;AACnC,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEzE,+BAA+B;AAC/B,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;AAEhF,gCAAgC;AAChC,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvD,iCAAiC;AACjC,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,4DAA4D;AAC5D,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,qDAAqD;AACrD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE;QACH,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,8BAA8B;AAC9B,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE5E,4BAA4B;AAC5B,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,QAAQ,CAAC;AAEnF,gCAAgC;AAChC,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,eAAe,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,GAAG,WAAW,CAAC;AAEpG,oCAAoC;AACpC,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEnG,mCAAmC;AACnC,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEzE,+BAA+B;AAC/B,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;AAEhF,gCAAgC;AAChC,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvD,iCAAiC;AACjC,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,+BAA+B;AAC/B,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEjF,gCAAgC;AAChC,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAEjE;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,IAAI,EAAE,SAAS,CAAC;IAChB,sDAAsD;IACtD,SAAS,EAAE,cAAc,CAAC;IAC1B,mGAAmG;IACnG,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,gEAAgE;AAChE,eAAO,MAAM,eAAe,EAAE,YAK7B,CAAC;AAEF,4DAA4D;AAC5D,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,eAAe,EAAE,eAAe,CAAC;IACjC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,qFAAqF;IACrF,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,qDAAqD;AACrD,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC;AAEhF,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,GAAG,EAAE;QACH,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH"}
@@ -3,5 +3,11 @@
3
3
  *
4
4
  * Core configuration types used throughout the CLI.
5
5
  */
6
- export {};
6
+ /** Default persona โ€” friendly, balanced, identifies as Nexus */
7
+ export const DEFAULT_PERSONA = {
8
+ tone: 'friendly',
9
+ verbosity: 'balanced',
10
+ identity: 'Nexus',
11
+ customDirective: '',
12
+ };
7
13
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkDH,gEAAgE;AAChE,MAAM,CAAC,MAAM,eAAe,GAAiB;IAC3C,IAAI,EAAE,UAAU;IAChB,SAAS,EAAE,UAAU;IACrB,QAAQ,EAAE,OAAO;IACjB,eAAe,EAAE,EAAE;CACpB,CAAC"}
@@ -1,4 +1,5 @@
1
- export type { NexusConfig, NexusManifest, PartialNexusConfig } from './config.js';
1
+ export type { NexusConfig, NexusManifest, PartialNexusConfig, NexusPersona, AgentTone, AgentVerbosity } from './config.js';
2
+ export { DEFAULT_PERSONA } from './config.js';
2
3
  export type { AllPromptAnswers } from './prompts.js';
3
4
  export type { GeneratedFile, GeneratorResult, TemplateContext } from './templates.js';
4
5
  export type { ProjectInfo, ProjectSignals } from '../utils/project-detector.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAClF,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtF,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3H,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtF,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,2 +1,2 @@
1
- export {};
1
+ export { DEFAULT_PERSONA } from './config.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}
package/dist/version.d.ts CHANGED
@@ -3,5 +3,5 @@
3
3
  *
4
4
  * Single source of truth for the CLI version.
5
5
  */
6
- export declare const version = "0.1.3";
6
+ export declare const version = "0.2.0";
7
7
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -3,5 +3,5 @@
3
3
  *
4
4
  * Single source of truth for the CLI version.
5
5
  */
6
- export const version = '0.1.3';
6
+ export const version = '0.2.0';
7
7
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nexus-framework/cli",
3
- "version": "0.1.3",
4
- "description": "AI-Native Project Scaffolding for the Modern Era โ€” generates production-ready, AI-optimized project structures",
3
+ "version": "0.2.0",
4
+ "description": "The AI-Native Development Framework โ€” turns every project into an AI-powered workspace with structured docs, progressive memory, and configurable agent personas",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",