@nexus-framework/cli 0.1.4 → 0.2.1
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/cli.js +5 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/adopt.d.ts +4 -2
- package/dist/commands/adopt.d.ts.map +1 -1
- package/dist/commands/adopt.js +47 -8
- package/dist/commands/adopt.js.map +1 -1
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +1 -1
- package/dist/commands/init.js.map +1 -1
- 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/docs.d.ts +10 -1
- package/dist/generators/docs.d.ts.map +1 -1
- package/dist/generators/docs.js +40 -65
- package/dist/generators/docs.js.map +1 -1
- package/dist/generators/index.d.ts +2 -1
- package/dist/generators/index.d.ts.map +1 -1
- package/dist/generators/index.js +49 -7
- package/dist/generators/index.js.map +1 -1
- package/dist/generators/spring-boot.d.ts +12 -0
- package/dist/generators/spring-boot.d.ts.map +1 -0
- package/dist/generators/spring-boot.js +220 -0
- package/dist/generators/spring-boot.js.map +1 -0
- package/dist/generators/structure.d.ts +1 -0
- package/dist/generators/structure.d.ts.map +1 -1
- package/dist/generators/structure.js +90 -24
- package/dist/generators/structure.js.map +1 -1
- package/dist/prompts/adoption.d.ts +35 -0
- package/dist/prompts/adoption.d.ts.map +1 -0
- package/dist/prompts/adoption.js +153 -0
- package/dist/prompts/adoption.js.map +1 -0
- package/dist/prompts/frameworks.d.ts +5 -1
- package/dist/prompts/frameworks.d.ts.map +1 -1
- package/dist/prompts/frameworks.js +48 -0
- package/dist/prompts/frameworks.js.map +1 -1
- package/dist/prompts/index.d.ts +2 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +19 -7
- 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/prompts/project-type.d.ts.map +1 -1
- package/dist/prompts/project-type.js +6 -1
- package/dist/prompts/project-type.js.map +1 -1
- package/dist/types/config.d.ts +31 -2
- 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/utils/file-system.d.ts.map +1 -1
- package/dist/utils/file-system.js +4 -2
- package/dist/utils/file-system.js.map +1 -1
- package/dist/utils/logger.d.ts +2 -2
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +49 -36
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/project-detector.d.ts +20 -4
- package/dist/utils/project-detector.d.ts.map +1 -1
- package/dist/utils/project-detector.js +156 -27
- package/dist/utils/project-detector.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +4 -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
|
|
package/dist/cli.js
CHANGED
|
@@ -18,14 +18,16 @@ program
|
|
|
18
18
|
.command('init [project-name]')
|
|
19
19
|
.description('Initialize a new NEXUS project with interactive setup')
|
|
20
20
|
.option('--adopt', 'Shorthand: same as `nexus adopt` (add NEXUS to an existing project)')
|
|
21
|
+
.option('--local', 'Configure NEXUS as local-only (not tracked by git)')
|
|
21
22
|
.action(async (projectName, options) => {
|
|
22
|
-
await initCommand(projectName, { adopt: options.adopt ?? false });
|
|
23
|
+
await initCommand(projectName, { adopt: options.adopt ?? false, local: options.local ?? false });
|
|
23
24
|
});
|
|
24
25
|
program
|
|
25
26
|
.command('adopt [path]')
|
|
26
27
|
.description('Add NEXUS docs & AI config to an existing project (no scaffolding)')
|
|
27
|
-
.
|
|
28
|
-
|
|
28
|
+
.option('--force', 'Force adoption even if no project is detected')
|
|
29
|
+
.action(async (targetPath, options) => {
|
|
30
|
+
await adoptCommand(targetPath, options);
|
|
29
31
|
});
|
|
30
32
|
program
|
|
31
33
|
.command('upgrade [path]')
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,8DAA8D,CAAC;KAC3E,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AAErC,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,SAAS,EAAE,qEAAqE,CAAC;KACxF,MAAM,CAAC,KAAK,EAAE,WAA+B,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,8DAA8D,CAAC;KAC3E,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AAErC,OAAO;KACJ,OAAO,CAAC,qBAAqB,CAAC;KAC9B,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,SAAS,EAAE,qEAAqE,CAAC;KACxF,MAAM,CAAC,SAAS,EAAE,oDAAoD,CAAC;KACvE,MAAM,CAAC,KAAK,EAAE,WAA+B,EAAE,OAA6C,EAAE,EAAE;IAC/F,MAAM,WAAW,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;AACnG,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,oEAAoE,CAAC;KACjF,MAAM,CAAC,SAAS,EAAE,+CAA+C,CAAC;KAClE,MAAM,CAAC,KAAK,EAAE,UAA8B,EAAE,OAA4B,EAAE,EAAE;IAC7E,MAAM,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC,2EAA2E,CAAC;KACxF,MAAM,CAAC,KAAK,EAAE,UAA8B,EAAE,EAAE;IAC/C,MAAM,cAAc,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,wEAAwE,CAAC;KACrF,MAAM,CAAC,KAAK,EAAE,UAA8B,EAAE,EAAE;IAC/C,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEL,yCAAyC;AACzC,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/commands/adopt.d.ts
CHANGED
|
@@ -19,7 +19,9 @@
|
|
|
19
19
|
* Handler for `nexus adopt [path]`.
|
|
20
20
|
*
|
|
21
21
|
* @param targetPath - Optional path to the project to adopt (defaults to cwd)
|
|
22
|
-
* @param options -
|
|
22
|
+
* @param options - Command options (--force to skip project detection)
|
|
23
23
|
*/
|
|
24
|
-
export declare function adoptCommand(targetPath?: string,
|
|
24
|
+
export declare function adoptCommand(targetPath?: string, options?: {
|
|
25
|
+
force?: boolean;
|
|
26
|
+
}): Promise<void>;
|
|
25
27
|
//# sourceMappingURL=adopt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"adopt.d.ts","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAUH;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,OAAO,CAAC,IAAI,CAAC,CA0Ff"}
|
package/dist/commands/adopt.js
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import path from 'node:path';
|
|
19
19
|
import { adoptProject } from '../generators/index.js';
|
|
20
|
+
import { promptAdoption } from '../prompts/adoption.js';
|
|
20
21
|
import { logger } from '../utils/logger.js';
|
|
21
22
|
import { detectProject } from '../utils/project-detector.js';
|
|
22
23
|
import { version } from '../version.js';
|
|
@@ -24,21 +25,57 @@ import { version } from '../version.js';
|
|
|
24
25
|
* Handler for `nexus adopt [path]`.
|
|
25
26
|
*
|
|
26
27
|
* @param targetPath - Optional path to the project to adopt (defaults to cwd)
|
|
27
|
-
* @param options -
|
|
28
|
+
* @param options - Command options (--force to skip project detection)
|
|
28
29
|
*/
|
|
29
|
-
export async function adoptCommand(targetPath,
|
|
30
|
+
export async function adoptCommand(targetPath, options = {}) {
|
|
30
31
|
logger.banner(version);
|
|
31
32
|
const targetDir = targetPath
|
|
32
33
|
? path.resolve(process.cwd(), targetPath)
|
|
33
34
|
: process.cwd();
|
|
34
|
-
// Detect the existing project
|
|
35
|
-
const projectInfo =
|
|
36
|
-
|
|
35
|
+
// Detect the existing project (skip if --force)
|
|
36
|
+
const projectInfo = options.force
|
|
37
|
+
? {
|
|
38
|
+
detected: true,
|
|
39
|
+
signals: {
|
|
40
|
+
hasPackageJson: false,
|
|
41
|
+
hasGit: false,
|
|
42
|
+
hasSrc: false,
|
|
43
|
+
hasTsConfig: false,
|
|
44
|
+
hasNodeModules: false,
|
|
45
|
+
hasGoMod: false,
|
|
46
|
+
hasCargoToml: false,
|
|
47
|
+
hasPyProjectToml: false,
|
|
48
|
+
hasFirebaseJson: false,
|
|
49
|
+
hasPomXml: false,
|
|
50
|
+
hasBuildGradle: false,
|
|
51
|
+
isInsideMonorepo: false,
|
|
52
|
+
monorepoRoot: null,
|
|
53
|
+
},
|
|
54
|
+
name: null,
|
|
55
|
+
description: null,
|
|
56
|
+
framework: null,
|
|
57
|
+
testFramework: null,
|
|
58
|
+
packageManager: null,
|
|
59
|
+
hasNexus: false,
|
|
60
|
+
dependencies: [],
|
|
61
|
+
}
|
|
62
|
+
: await detectProject(targetDir);
|
|
63
|
+
if (!projectInfo.detected && !options.force) {
|
|
37
64
|
logger.error('No existing project detected in this directory.');
|
|
38
65
|
logger.newline();
|
|
39
|
-
logger.info('
|
|
40
|
-
logger.info('
|
|
66
|
+
logger.info('NEXUS adopt works with:');
|
|
67
|
+
logger.info(' • Node.js projects (package.json)');
|
|
68
|
+
logger.info(' • Spring Boot projects (pom.xml, build.gradle)');
|
|
69
|
+
logger.info(' • Cloud Functions (firebase.json)');
|
|
70
|
+
logger.info(' • Go projects (go.mod)');
|
|
71
|
+
logger.info(' • Rust projects (Cargo.toml)');
|
|
72
|
+
logger.info(' • Python projects (pyproject.toml)');
|
|
73
|
+
logger.info(' • Monorepos (workspace structure)');
|
|
74
|
+
logger.newline();
|
|
75
|
+
logger.info('To force adoption of any directory:');
|
|
76
|
+
logger.nexus(' nexus adopt --force');
|
|
41
77
|
logger.newline();
|
|
78
|
+
logger.info('To create a brand-new project:');
|
|
42
79
|
logger.nexus(' nexus init <project-name>');
|
|
43
80
|
logger.newline();
|
|
44
81
|
process.exit(1);
|
|
@@ -58,8 +95,10 @@ export async function adoptCommand(targetPath, _options = {}) {
|
|
|
58
95
|
logger.info(`Detected test framework: ${testFw}`);
|
|
59
96
|
logger.info(`Detected package manager: ${pm}`);
|
|
60
97
|
logger.newline();
|
|
98
|
+
// Run pre-adoption interview
|
|
99
|
+
const adoptionContext = await promptAdoption(projectInfo);
|
|
61
100
|
try {
|
|
62
|
-
await adoptProject(targetDir, projectInfo);
|
|
101
|
+
await adoptProject(targetDir, projectInfo, adoptionContext);
|
|
63
102
|
logger.adoptComplete(displayName);
|
|
64
103
|
}
|
|
65
104
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"adopt.js","sourceRoot":"","sources":["../../src/commands/adopt.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA2Df"}
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,IAAI,CAAC,CA2Df"}
|
package/dist/commands/init.js
CHANGED
|
@@ -54,7 +54,7 @@ export async function initCommand(projectName, options = {}) {
|
|
|
54
54
|
}
|
|
55
55
|
try {
|
|
56
56
|
// Run interactive prompts
|
|
57
|
-
const config = await runPrompts(projectName);
|
|
57
|
+
const config = await runPrompts(projectName, options.local);
|
|
58
58
|
logger.newline();
|
|
59
59
|
logger.nexus(`Creating "${config.displayName}" with ${config.frontendFramework}...`);
|
|
60
60
|
logger.newline();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|