@nexus-framework/cli 0.1.4 โ 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 +133 -40
- package/dist/generators/ai-config.d.ts.map +1 -1
- package/dist/generators/ai-config.js +208 -55
- package/dist/generators/ai-config.js.map +1 -1
- package/dist/generators/index.d.ts.map +1 -1
- package/dist/generators/index.js +2 -0
- package/dist/generators/index.js.map +1 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +4 -0
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/persona.d.ts +16 -0
- package/dist/prompts/persona.d.ts.map +1 -0
- package/dist/prompts/persona.js +79 -0
- package/dist/prompts/persona.js.map +1 -0
- package/dist/types/config.d.ts +25 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +7 -1
- package/dist/types/config.js.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -2,19 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
# ๐ฎ NEXUS CLI
|
|
4
4
|
|
|
5
|
-
### AI-Native
|
|
5
|
+
### The AI-Native Development Framework
|
|
6
6
|
|
|
7
|
-
**The open-source CLI by [GDA Africa](https://github.com/GDA-Africa) that
|
|
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
|
[](https://www.typescriptlang.org/)
|
|
10
10
|
[](https://nodejs.org/)
|
|
11
|
-
[](https://vitest.dev/)
|
|
12
|
+
[](https://www.npmjs.com/package/@nexus-framework/cli)
|
|
12
13
|
[](LICENSE)
|
|
13
14
|
[](https://github.com/GDA-Africa/nexus-cli/pulls)
|
|
14
15
|
|
|
15
16
|
---
|
|
16
17
|
|
|
17
|
-
*Where
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
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
|
-
###
|
|
49
|
-
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
-
|
|
53
|
-
-
|
|
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
|
-
###
|
|
59
|
-
-
|
|
60
|
-
-
|
|
61
|
-
-
|
|
62
|
-
-
|
|
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.
|
|
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-
|
|
123
|
-
| `.nexus/ai/` | AI
|
|
124
|
-
|
|
|
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
|
|
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
|
-
|
|
161
|
-
- [x]
|
|
162
|
-
- [x]
|
|
163
|
-
- [x]
|
|
164
|
-
- [x]
|
|
165
|
-
- [x]
|
|
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
|
-
- [
|
|
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
|
-
|
|
170
|
-
|
|
171
|
-
- [ ]
|
|
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,
|
|
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
|
-
##
|
|
64
|
+
## โ ๏ธ Before You Do Anything โ 3 Mandatory Steps
|
|
65
65
|
|
|
66
|
-
|
|
66
|
+
You MUST complete these 3 steps before doing ANY work. This is not optional.
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
|
79
|
-
RULE:
|
|
80
|
-
RULE:
|
|
81
|
-
RULE:
|
|
82
|
-
RULE: NEVER ask "what
|
|
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
|
|
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. **
|
|
233
|
-
3. **
|
|
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
|
-
|
|
238
|
-
|
|
239
|
-
|
|
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
|
-
|
|
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
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
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 };
|
|
@@ -286,29 +333,41 @@ function toolInstructionContent(config, toolName) {
|
|
|
286
333
|
|
|
287
334
|
> Auto-generated by [NEXUS CLI](https://github.com/GDA-Africa/nexus-cli) v${version}.
|
|
288
335
|
> This file contains the FULL project-aware instructions โ do NOT skip any section.
|
|
336
|
+
> The master copy lives at \`.nexus/ai/instructions.md\`.
|
|
289
337
|
|
|
290
338
|
---
|
|
291
339
|
|
|
292
|
-
##
|
|
340
|
+
## โ ๏ธ Before You Do Anything โ 3 Mandatory Steps
|
|
293
341
|
|
|
294
|
-
|
|
342
|
+
You MUST complete these 3 steps before doing ANY work. This is not optional.
|
|
295
343
|
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
-
|
|
302
|
-
-
|
|
303
|
-
-
|
|
344
|
+
**Step 1. Read your brain โ \`.nexus/docs/index.md\`**
|
|
345
|
+
|
|
346
|
+
READ \`.nexus/docs/index.md\` FIRST. EVERY TIME. NO EXCEPTIONS.
|
|
347
|
+
|
|
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).
|
|
304
363
|
|
|
305
364
|
\`\`\`
|
|
306
|
-
RULE: Before EVERY task
|
|
307
|
-
RULE:
|
|
308
|
-
RULE:
|
|
309
|
-
RULE:
|
|
365
|
+
RULE: Before EVERY task โ read .nexus/docs/index.md (your brain)
|
|
366
|
+
RULE: Before EVERY task โ scan .nexus/docs/knowledge.md (your memory)
|
|
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
|
|
310
369
|
RULE: NEVER ask "what enhancements would you like?" โ the index has the answer
|
|
311
|
-
RULE: NEVER invent features โ work from the feature backlog
|
|
370
|
+
RULE: NEVER invent features โ work from the feature backlog in the index
|
|
312
371
|
\`\`\`
|
|
313
372
|
|
|
314
373
|
---
|
|
@@ -392,7 +451,7 @@ This is a hard requirement, not a suggestion.
|
|
|
392
451
|
| # | File | Purpose |
|
|
393
452
|
|---|------|---------|
|
|
394
453
|
| ๐ง | \`.nexus/docs/index.md\` | **PROJECT BRAIN** โ status, backlog, progress, what's next |
|
|
395
|
-
| ๐ | \`.nexus/knowledge.md\` | **KNOWLEDGE BASE** โ learned insights, patterns, gotchas |
|
|
454
|
+
| ๐ | \`.nexus/docs/knowledge.md\` | **KNOWLEDGE BASE** โ learned insights, patterns, gotchas |
|
|
396
455
|
| 1 | \`.nexus/docs/01_vision.md\` | Product requirements, user stories, success metrics |
|
|
397
456
|
| 2 | \`.nexus/docs/02_architecture.md\` | System design, tech stack, data flow |
|
|
398
457
|
| 3 | \`.nexus/docs/03_data_contracts.md\` | Database schemas, validation, relationships |
|
|
@@ -404,11 +463,51 @@ This is a hard requirement, not a suggestion.
|
|
|
404
463
|
|
|
405
464
|
---
|
|
406
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.
|
|
470
|
+
|
|
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
|
|
476
|
+
|
|
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
|
+
|
|
407
506
|
## Workflow โ How To Work On This Project
|
|
408
507
|
|
|
409
508
|
### Before EVERY task:
|
|
410
509
|
1. **Read \`.nexus/docs/index.md\`** โ check "Current Objective" and "What's Next"
|
|
411
|
-
2. **Scan \`.nexus/knowledge.md\`** โ check for relevant past learnings
|
|
510
|
+
2. **Scan \`.nexus/docs/knowledge.md\`** โ check for relevant past learnings
|
|
412
511
|
3. **Read the relevant spec doc** โ find details in the numbered docs
|
|
413
512
|
4. **Check \`.nexus/docs/07_implementation.md\`** โ find the file-by-file plan
|
|
414
513
|
|
|
@@ -420,7 +519,7 @@ This is a hard requirement, not a suggestion.
|
|
|
420
519
|
### After EVERY task:
|
|
421
520
|
8. **Update \`.nexus/docs/index.md\`** โ move items to Progress Log, update status
|
|
422
521
|
9. **Update \`.nexus/docs/07_implementation.md\`** โ mark completed files/tasks
|
|
423
|
-
10. **Learn** โ if you discovered something non-obvious, append to \`.nexus/knowledge.md\`
|
|
522
|
+
10. **Learn** โ if you discovered something non-obvious, append an entry to \`.nexus/docs/knowledge.md\`
|
|
424
523
|
11. **Commit** โ conventional commits (\`feat:\`, \`fix:\`, etc.)
|
|
425
524
|
12. **Suggest the next task** from \`.nexus/docs/index.md\` "What's Next"
|
|
426
525
|
|
|
@@ -429,10 +528,9 @@ This is a hard requirement, not a suggestion.
|
|
|
429
528
|
- โ Invent random features not in the backlog
|
|
430
529
|
- โ Skip updating the index after completing work
|
|
431
530
|
- โ Treat docs as static โ they evolve with the project
|
|
432
|
-
- โ Ignore \`.nexus/knowledge.md\` โ it prevents repeating mistakes
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
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)}
|
|
436
534
|
*Generated by [NEXUS CLI](https://github.com/GDA-Africa/nexus-cli) v${version}*
|
|
437
535
|
`;
|
|
438
536
|
}
|
|
@@ -476,4 +574,59 @@ function getValidationCommand(config) {
|
|
|
476
574
|
const testCmd = config.testFramework !== 'none' ? ` && ${runPrefix} test` : '';
|
|
477
575
|
return `npx tsc --noEmit${testCmd} && ${runPrefix} lint`;
|
|
478
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
|
+
}
|
|
479
632
|
//# sourceMappingURL=ai-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-config.js","sourceRoot":"","sources":["../../src/generators/ai-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;oEAEoE;AAEpE;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAmB;IAClD,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,qDAAqD;IACrD,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzC,6EAA6E;IAC7E,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;IAEhD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;oEAEoE;AAEpE,SAAS,oBAAoB,CAAC,MAAmB;IAC/C,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACvE,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;IAC/F,MAAM,eAAe,GACnB,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;IAClF,MAAM,cAAc,GAClB,MAAM,CAAC,gBAAgB,KAAK,MAAM;QAChC,CAAC,CAAC,GAAG,MAAM,CAAC,eAAe,iBAAiB;QAC5C,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,eAAe,GAAG,CAAC;IAE/D,MAAM,OAAO,GAAG,KAAK,MAAM,CAAC,WAAW;;;kFAGyC,OAAO
|
|
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;
|
|
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"}
|
package/dist/generators/index.js
CHANGED
|
@@ -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":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,GAAG,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generators/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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"}
|
package/dist/prompts/index.js
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/types/config.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/types/config.js
CHANGED
|
@@ -3,5 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Core configuration types used throughout the CLI.
|
|
5
5
|
*/
|
|
6
|
-
|
|
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
|
package/dist/types/config.js.map
CHANGED
|
@@ -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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/types/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export { DEFAULT_PERSONA } from './config.js';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -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
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexus-framework/cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "AI-Native
|
|
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",
|