@nexagent-cli/cli 0.7.1 → 0.8.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.
Files changed (63) hide show
  1. package/dist/commands/amarax.d.ts +1 -0
  2. package/dist/commands/amarax.d.ts.map +1 -1
  3. package/dist/commands/amarax.js +45 -59
  4. package/dist/commands/amarax.js.map +1 -1
  5. package/dist/commands/sophie.d.ts +1 -0
  6. package/dist/commands/sophie.d.ts.map +1 -1
  7. package/dist/commands/sophie.js +42 -107
  8. package/dist/commands/sophie.js.map +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +10 -3
  11. package/dist/index.js.map +1 -1
  12. package/dist/profiles/sophie.d.ts.map +1 -1
  13. package/dist/profiles/sophie.js +1 -0
  14. package/dist/profiles/sophie.js.map +1 -1
  15. package/dist/runtime/workflow.d.ts +27 -0
  16. package/dist/runtime/workflow.d.ts.map +1 -0
  17. package/dist/runtime/workflow.js +21 -0
  18. package/dist/runtime/workflow.js.map +1 -0
  19. package/dist/workflows/amarax/brand.d.ts +3 -0
  20. package/dist/workflows/amarax/brand.d.ts.map +1 -0
  21. package/dist/workflows/amarax/brand.js +214 -0
  22. package/dist/workflows/amarax/brand.js.map +1 -0
  23. package/dist/workflows/amarax/package.d.ts +3 -0
  24. package/dist/workflows/amarax/package.d.ts.map +1 -0
  25. package/dist/workflows/amarax/package.js +204 -0
  26. package/dist/workflows/amarax/package.js.map +1 -0
  27. package/dist/workflows/amarax/scaffold.d.ts +3 -0
  28. package/dist/workflows/amarax/scaffold.d.ts.map +1 -0
  29. package/dist/workflows/amarax/scaffold.js +332 -0
  30. package/dist/workflows/amarax/scaffold.js.map +1 -0
  31. package/dist/workflows/index.d.ts +4 -0
  32. package/dist/workflows/index.d.ts.map +1 -0
  33. package/dist/workflows/index.js +32 -0
  34. package/dist/workflows/index.js.map +1 -0
  35. package/dist/workflows/sophie/audit.d.ts +3 -0
  36. package/dist/workflows/sophie/audit.d.ts.map +1 -0
  37. package/dist/workflows/sophie/audit.js +166 -0
  38. package/dist/workflows/sophie/audit.js.map +1 -0
  39. package/dist/workflows/sophie/council.d.ts +3 -0
  40. package/dist/workflows/sophie/council.d.ts.map +1 -0
  41. package/dist/workflows/sophie/council.js +214 -0
  42. package/dist/workflows/sophie/council.js.map +1 -0
  43. package/dist/workflows/sophie/inspect.d.ts +3 -0
  44. package/dist/workflows/sophie/inspect.d.ts.map +1 -0
  45. package/dist/workflows/sophie/inspect.js +295 -0
  46. package/dist/workflows/sophie/inspect.js.map +1 -0
  47. package/dist/workflows/sophie/plan.d.ts +3 -0
  48. package/dist/workflows/sophie/plan.d.ts.map +1 -0
  49. package/dist/workflows/sophie/plan.js +163 -0
  50. package/dist/workflows/sophie/plan.js.map +1 -0
  51. package/dist/workflows/sophie/review.d.ts +3 -0
  52. package/dist/workflows/sophie/review.d.ts.map +1 -0
  53. package/dist/workflows/sophie/review.js +199 -0
  54. package/dist/workflows/sophie/review.js.map +1 -0
  55. package/dist/workflows/sophie/skill.d.ts +3 -0
  56. package/dist/workflows/sophie/skill.d.ts.map +1 -0
  57. package/dist/workflows/sophie/skill.js +193 -0
  58. package/dist/workflows/sophie/skill.js.map +1 -0
  59. package/dist/workflows/sophie/status.d.ts +3 -0
  60. package/dist/workflows/sophie/status.d.ts.map +1 -0
  61. package/dist/workflows/sophie/status.js +184 -0
  62. package/dist/workflows/sophie/status.js.map +1 -0
  63. package/package.json +5 -5
@@ -0,0 +1,332 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ import { join } from 'node:path';
3
+ const TEMPLATES = {
4
+ webapp: {
5
+ template: 'webapp',
6
+ projectType: 'Web Application',
7
+ folderStructure: {
8
+ src: {
9
+ components: {},
10
+ pages: {},
11
+ styles: {},
12
+ 'main.ts': null,
13
+ 'App.tsx': null,
14
+ },
15
+ public: {
16
+ 'index.html': null,
17
+ 'favicon.ico': null,
18
+ },
19
+ tests: {
20
+ 'example.spec.ts': null,
21
+ },
22
+ 'package.json': null,
23
+ 'tsconfig.json': null,
24
+ 'vite.config.ts': null,
25
+ 'README.md': null,
26
+ '.gitignore': null,
27
+ },
28
+ requiredFiles: [
29
+ { name: 'package.json', description: 'Project manifest and dependencies' },
30
+ { name: 'src/main.ts', description: 'Application entry point' },
31
+ { name: 'src/App.tsx', description: 'Root component' },
32
+ { name: 'public/index.html', description: 'HTML shell' },
33
+ { name: 'tsconfig.json', description: 'TypeScript configuration' },
34
+ { name: 'vite.config.ts', description: 'Vite build configuration' },
35
+ ],
36
+ installCommand: 'pnpm install',
37
+ runCommand: 'pnpm dev',
38
+ nextSteps: [
39
+ 'Run `pnpm dev` to start the development server',
40
+ 'Edit `src/App.tsx` to build your UI',
41
+ 'Add routes under `src/pages/` as you grow',
42
+ 'Configure `vite.config.ts` for aliases and plugins',
43
+ ],
44
+ },
45
+ api: {
46
+ template: 'api',
47
+ projectType: 'API Server',
48
+ folderStructure: {
49
+ src: {
50
+ routes: {},
51
+ middleware: {},
52
+ models: {},
53
+ 'index.ts': null,
54
+ 'server.ts': null,
55
+ },
56
+ tests: {
57
+ 'api.spec.ts': null,
58
+ },
59
+ 'package.json': null,
60
+ 'tsconfig.json': null,
61
+ 'README.md': null,
62
+ '.env.example': null,
63
+ '.gitignore': null,
64
+ },
65
+ requiredFiles: [
66
+ { name: 'package.json', description: 'Project manifest and dependencies' },
67
+ { name: 'src/index.ts', description: 'Entry point' },
68
+ { name: 'src/server.ts', description: 'Server bootstrap' },
69
+ { name: 'src/routes/', description: 'API route definitions' },
70
+ { name: 'tsconfig.json', description: 'TypeScript configuration' },
71
+ { name: '.env.example', description: 'Environment variable template' },
72
+ ],
73
+ installCommand: 'pnpm install',
74
+ runCommand: 'pnpm dev',
75
+ nextSteps: [
76
+ 'Run `pnpm dev` to start the API server',
77
+ 'Define routes under `src/routes/`',
78
+ 'Add middleware in `src/middleware/` for auth and logging',
79
+ 'Copy `.env.example` to `.env` and configure secrets',
80
+ ],
81
+ },
82
+ cli: {
83
+ template: 'cli',
84
+ projectType: 'CLI Tool',
85
+ folderStructure: {
86
+ src: {
87
+ commands: {},
88
+ utils: {},
89
+ 'index.ts': null,
90
+ 'cli.ts': null,
91
+ },
92
+ bin: {
93
+ 'run.js': null,
94
+ },
95
+ tests: {
96
+ 'cli.spec.ts': null,
97
+ },
98
+ 'package.json': null,
99
+ 'tsconfig.json': null,
100
+ 'README.md': null,
101
+ '.gitignore': null,
102
+ },
103
+ requiredFiles: [
104
+ { name: 'package.json', description: 'Project manifest with bin field' },
105
+ { name: 'src/cli.ts', description: 'CLI argument parser and dispatcher' },
106
+ { name: 'src/index.ts', description: 'Library entry point' },
107
+ { name: 'bin/run.js', description: 'Executable wrapper' },
108
+ { name: 'tsconfig.json', description: 'TypeScript configuration' },
109
+ ],
110
+ installCommand: 'pnpm install',
111
+ runCommand: 'node dist/cli.js',
112
+ nextSteps: [
113
+ 'Build with `pnpm build` then run `node dist/cli.js --help`',
114
+ 'Add commands under `src/commands/`',
115
+ 'Register the bin path in `package.json`',
116
+ 'Write tests in `tests/cli.spec.ts`',
117
+ ],
118
+ },
119
+ library: {
120
+ template: 'library',
121
+ projectType: 'Library',
122
+ folderStructure: {
123
+ src: {
124
+ 'index.ts': null,
125
+ },
126
+ lib: {},
127
+ tests: {
128
+ 'index.spec.ts': null,
129
+ },
130
+ 'package.json': null,
131
+ 'tsconfig.json': null,
132
+ 'tsup.config.ts': null,
133
+ 'README.md': null,
134
+ 'LICENSE': null,
135
+ '.gitignore': null,
136
+ },
137
+ requiredFiles: [
138
+ { name: 'package.json', description: 'Project manifest with exports' },
139
+ { name: 'src/index.ts', description: 'Library entry point' },
140
+ { name: 'tsconfig.json', description: 'TypeScript configuration' },
141
+ { name: 'tsup.config.ts', description: 'Bundler configuration' },
142
+ { name: 'README.md', description: 'Usage documentation' },
143
+ { name: 'LICENSE', description: 'License file' },
144
+ ],
145
+ installCommand: 'pnpm install',
146
+ runCommand: 'pnpm build',
147
+ nextSteps: [
148
+ 'Implement your library in `src/index.ts`',
149
+ 'Run `pnpm build` to produce `dist/` artifacts',
150
+ 'Add `exports` and `files` to `package.json` before publishing',
151
+ 'Write tests in `tests/index.spec.ts`',
152
+ ],
153
+ },
154
+ saas: {
155
+ template: 'saas',
156
+ projectType: 'SaaS Application',
157
+ folderStructure: {
158
+ src: {
159
+ client: {
160
+ components: {},
161
+ pages: {},
162
+ 'main.ts': null,
163
+ },
164
+ server: {
165
+ routes: {},
166
+ services: {},
167
+ 'index.ts': null,
168
+ },
169
+ shared: {
170
+ types: {},
171
+ utils: {},
172
+ },
173
+ },
174
+ 'package.json': null,
175
+ 'tsconfig.json': null,
176
+ 'docker-compose.yml': null,
177
+ 'README.md': null,
178
+ '.env.example': null,
179
+ '.gitignore': null,
180
+ },
181
+ requiredFiles: [
182
+ { name: 'package.json', description: 'Workspace or root manifest' },
183
+ { name: 'src/client/main.ts', description: 'Frontend entry' },
184
+ { name: 'src/server/index.ts', description: 'Backend entry' },
185
+ { name: 'src/shared/types/', description: 'Shared type definitions' },
186
+ { name: 'docker-compose.yml', description: 'Local infrastructure' },
187
+ { name: '.env.example', description: 'Environment template' },
188
+ ],
189
+ installCommand: 'pnpm install',
190
+ runCommand: 'pnpm dev',
191
+ nextSteps: [
192
+ 'Run `pnpm dev` to start the full stack',
193
+ 'Spin up infra with `docker-compose up`',
194
+ 'Separate concerns: UI in `client/`, API in `server/`',
195
+ 'Keep shared types in `shared/types/` for contract safety',
196
+ ],
197
+ },
198
+ agent: {
199
+ template: 'agent',
200
+ projectType: 'AI Agent',
201
+ folderStructure: {
202
+ src: {
203
+ skills: {},
204
+ runtime: {},
205
+ prompts: {},
206
+ 'index.ts': null,
207
+ 'agent.ts': null,
208
+ },
209
+ config: {
210
+ 'agent.config.ts': null,
211
+ },
212
+ tests: {
213
+ 'agent.spec.ts': null,
214
+ },
215
+ 'package.json': null,
216
+ 'tsconfig.json': null,
217
+ 'README.md': null,
218
+ '.gitignore': null,
219
+ },
220
+ requiredFiles: [
221
+ { name: 'package.json', description: 'Project manifest' },
222
+ { name: 'src/agent.ts', description: 'Agent orchestrator' },
223
+ { name: 'src/skills/', description: 'Agent skills/modules' },
224
+ { name: 'src/prompts/', description: 'System prompts' },
225
+ { name: 'config/agent.config.ts', description: 'Agent configuration' },
226
+ { name: 'tsconfig.json', description: 'TypeScript configuration' },
227
+ ],
228
+ installCommand: 'pnpm install',
229
+ runCommand: 'pnpm start',
230
+ nextSteps: [
231
+ 'Configure LLM keys in environment variables',
232
+ 'Register skills in `src/skills/` and wire them in `src/agent.ts`',
233
+ 'Tune prompts under `src/prompts/`',
234
+ 'Run `pnpm start` to launch the agent loop',
235
+ ],
236
+ },
237
+ };
238
+ const AVAILABLE_TEMPLATES = Object.keys(TEMPLATES);
239
+ function renderTree(obj, prefix = '') {
240
+ const lines = [];
241
+ const entries = Object.entries(obj);
242
+ entries.forEach(([key, value], index) => {
243
+ const isLast = index === entries.length - 1;
244
+ const connector = isLast ? '└── ' : '├── ';
245
+ lines.push(`${prefix}${connector}${key}`);
246
+ if (value && typeof value === 'object') {
247
+ const extension = isLast ? ' ' : '│ ';
248
+ lines.push(...renderTree(value, prefix + extension));
249
+ }
250
+ });
251
+ return lines;
252
+ }
253
+ export async function scaffoldWorkflow(ctx) {
254
+ const messages = [];
255
+ const recommendations = [];
256
+ const templateName = (ctx.input || '').trim().toLowerCase();
257
+ if (!templateName) {
258
+ messages.push('No template specified.');
259
+ messages.push(`Available templates: ${AVAILABLE_TEMPLATES.join(', ')}`);
260
+ recommendations.push('Run `amarax scaffold <template>` with one of the supported templates.');
261
+ return {
262
+ success: false,
263
+ data: {
264
+ availableTemplates: AVAILABLE_TEMPLATES,
265
+ },
266
+ messages,
267
+ recommendations,
268
+ };
269
+ }
270
+ if (!AVAILABLE_TEMPLATES.includes(templateName)) {
271
+ messages.push(`Unknown template: "${templateName}"`);
272
+ messages.push(`Available templates: ${AVAILABLE_TEMPLATES.join(', ')}`);
273
+ recommendations.push('Pick a supported template or request a custom scaffold.');
274
+ return {
275
+ success: false,
276
+ data: {
277
+ requestedTemplate: templateName,
278
+ availableTemplates: AVAILABLE_TEMPLATES,
279
+ },
280
+ messages,
281
+ recommendations,
282
+ };
283
+ }
284
+ const plan = TEMPLATES[templateName];
285
+ // Optional: peek at existing package.json to suggest project name
286
+ let projectName = 'my-project';
287
+ try {
288
+ const pkgRaw = await readFile(join(ctx.cwd, 'package.json'), 'utf-8');
289
+ const pkg = JSON.parse(pkgRaw);
290
+ if (pkg.name)
291
+ projectName = pkg.name;
292
+ }
293
+ catch {
294
+ // ignore missing package.json
295
+ }
296
+ messages.push('');
297
+ messages.push(`🛠 Amarax Scaffold Preview`);
298
+ messages.push(` Template : ${plan.template}`);
299
+ messages.push(` Type : ${plan.projectType}`);
300
+ messages.push(` Project : ${projectName}`);
301
+ if (ctx.flags.dryRun) {
302
+ messages.push(` Mode : --dry-run (no files will be created)`);
303
+ }
304
+ messages.push('');
305
+ messages.push('Folder structure:');
306
+ messages.push(...renderTree(plan.folderStructure).map((l) => ` ${l}`));
307
+ messages.push('');
308
+ messages.push('Required files:');
309
+ for (const f of plan.requiredFiles) {
310
+ messages.push(` • ${f.name} — ${f.description}`);
311
+ }
312
+ messages.push('');
313
+ messages.push(`Install : ${plan.installCommand}`);
314
+ messages.push(`Run : ${plan.runCommand}`);
315
+ messages.push('');
316
+ messages.push('Next steps:');
317
+ for (const step of plan.nextSteps) {
318
+ messages.push(` → ${step}`);
319
+ }
320
+ recommendations.push(...plan.nextSteps);
321
+ return {
322
+ success: true,
323
+ data: {
324
+ ...plan,
325
+ projectName,
326
+ dryRun: !!ctx.flags.dryRun,
327
+ },
328
+ messages,
329
+ recommendations,
330
+ };
331
+ }
332
+ //# sourceMappingURL=scaffold.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../../src/workflows/amarax/scaffold.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function createWorkflowRegistry(): import("../runtime/workflow.js").WorkflowRegistry;
2
+ export { createDefaultWorkflows } from '../runtime/workflow.js';
3
+ export type { WorkflowContext, WorkflowResult, WorkflowHandler } from '../runtime/workflow.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAgBA,wBAAgB,sBAAsB,sDAkBrC;AAED,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,32 @@
1
+ // ============================================================
2
+ // Workflows Index — Register all profile workflows
3
+ // ============================================================
4
+ import { createDefaultWorkflows } from '../runtime/workflow.js';
5
+ import { planWorkflow } from './sophie/plan.js';
6
+ import { auditWorkflow } from './sophie/audit.js';
7
+ import { inspectWorkflow } from './sophie/inspect.js';
8
+ import { reviewWorkflow } from './sophie/review.js';
9
+ import { skillWorkflow } from './sophie/skill.js';
10
+ import { councilWorkflow } from './sophie/council.js';
11
+ import { statusWorkflow } from './sophie/status.js';
12
+ import { scaffoldWorkflow } from './amarax/scaffold.js';
13
+ import { packageWorkflow } from './amarax/package.js';
14
+ import { brandWorkflow } from './amarax/brand.js';
15
+ export function createWorkflowRegistry() {
16
+ const registry = createDefaultWorkflows();
17
+ // Sophie workflows
18
+ registry.register('sophie:plan', planWorkflow);
19
+ registry.register('sophie:audit', auditWorkflow);
20
+ registry.register('sophie:inspect', inspectWorkflow);
21
+ registry.register('sophie:review', reviewWorkflow);
22
+ registry.register('sophie:skill', skillWorkflow);
23
+ registry.register('sophie:council', councilWorkflow);
24
+ registry.register('sophie:status', statusWorkflow);
25
+ // Amarax workflows
26
+ registry.register('amarax:scaffold', scaffoldWorkflow);
27
+ registry.register('amarax:package', packageWorkflow);
28
+ registry.register('amarax:brand', brandWorkflow);
29
+ return registry;
30
+ }
31
+ export { createDefaultWorkflows } from '../runtime/workflow.js';
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/workflows/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,mDAAmD;AACnD,+DAA+D;AAE/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,UAAU,sBAAsB;IACpC,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAE1C,mBAAmB;IACnB,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAC/C,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACjD,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACrD,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IACjD,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACrD,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAEnD,mBAAmB;IACnB,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IACvD,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACrD,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;IAEjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { WorkflowContext, WorkflowResult } from '../../runtime/workflow.js';
2
+ export declare function auditWorkflow(ctx: WorkflowContext): Promise<WorkflowResult>;
3
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/workflows/sophie/audit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAwBjF,wBAAsB,aAAa,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAqKjF"}
@@ -0,0 +1,166 @@
1
+ import { readdir, readFile, stat } from 'node:fs/promises';
2
+ import { join, resolve } from 'node:path';
3
+ export async function auditWorkflow(ctx) {
4
+ const target = ctx.input.trim() || ctx.cwd;
5
+ const resolved = resolve(target);
6
+ let targetStat;
7
+ try {
8
+ targetStat = await stat(resolved);
9
+ }
10
+ catch {
11
+ return {
12
+ success: false,
13
+ data: {},
14
+ messages: [`Error: Target path does not exist: ${resolved}`],
15
+ recommendations: ['Provide a valid file path or run without a target to audit the current directory.'],
16
+ };
17
+ }
18
+ if (!targetStat.isDirectory()) {
19
+ return {
20
+ success: false,
21
+ data: {},
22
+ messages: [`Error: Target is not a directory: ${resolved}`],
23
+ recommendations: ['Audit requires a directory target.'],
24
+ };
25
+ }
26
+ const items = await readdir(resolved, { withFileTypes: true });
27
+ const fileTree = items.map((i) => (i.isDirectory() ? `${i.name}/` : i.name));
28
+ const hasFile = (name) => items.some((i) => i.name === name && i.isFile());
29
+ const hasDir = (name) => items.some((i) => i.name === name && i.isDirectory());
30
+ const hasPackageJson = hasFile('package.json');
31
+ const hasTsConfig = hasFile('tsconfig.json');
32
+ let hasGitHubWorkflows = false;
33
+ if (hasDir('.github')) {
34
+ try {
35
+ const githubItems = await readdir(join(resolved, '.github'), { withFileTypes: true });
36
+ hasGitHubWorkflows = githubItems.some((i) => i.name === 'workflows' && i.isDirectory());
37
+ }
38
+ catch {
39
+ hasGitHubWorkflows = false;
40
+ }
41
+ }
42
+ const hasTestsDir = hasDir('tests') || hasDir('test') || hasDir('__tests__');
43
+ const hasReadme = hasFile('README.md') || hasFile('README');
44
+ const hasLicense = hasFile('LICENSE') || hasFile('LICENSE.md');
45
+ const hasChangelog = hasFile('CHANGELOG.md') || hasFile('CHANGELOG');
46
+ let pkg = null;
47
+ if (hasPackageJson) {
48
+ try {
49
+ const raw = await readFile(join(resolved, 'package.json'), 'utf-8');
50
+ pkg = JSON.parse(raw);
51
+ }
52
+ catch {
53
+ pkg = null;
54
+ }
55
+ }
56
+ const scripts = pkg && typeof pkg.scripts === 'object' && pkg.scripts !== null
57
+ ? pkg.scripts
58
+ : {};
59
+ const buildScripts = Object.entries(scripts)
60
+ .filter(([k]) => /build|compile|bundle|tsc|esbuild|vite|webpack|rollup/i.test(k))
61
+ .map(([k, v]) => ({ name: k, command: v }));
62
+ const testScripts = Object.entries(scripts)
63
+ .filter(([k]) => /test|spec|vitest|jest|mocha|cypress|playwright/i.test(k))
64
+ .map(([k, v]) => ({ name: k, command: v }));
65
+ const packageHealth = {
66
+ hasPackageJson,
67
+ hasScriptsTest: testScripts.length > 0,
68
+ hasScriptsBuild: buildScripts.length > 0,
69
+ hasScriptsLint: Object.keys(scripts).some((k) => /lint/i.test(k)),
70
+ hasScriptsTypecheck: Object.keys(scripts).some((k) => /typecheck|type-check/i.test(k)),
71
+ hasPrivateFlag: pkg?.private === true,
72
+ };
73
+ const releaseRisks = [];
74
+ if (!testScripts.length)
75
+ releaseRisks.push('No tests: Project lacks test scripts.');
76
+ if (!hasGitHubWorkflows)
77
+ releaseRisks.push('No CI config: No .github/workflows directory found.');
78
+ if (!hasChangelog)
79
+ releaseRisks.push('No changelog: No CHANGELOG.md found.');
80
+ if (!hasLicense)
81
+ releaseRisks.push('No license: No LICENSE file found.');
82
+ if (!hasReadme)
83
+ releaseRisks.push('No README: No README.md found.');
84
+ if (!packageHealth.hasScriptsBuild)
85
+ releaseRisks.push('No build script: Package.json lacks a build step.');
86
+ if (!packageHealth.hasScriptsLint)
87
+ releaseRisks.push('No lint script: Code quality automation missing.');
88
+ const recommendedPatches = [];
89
+ if (!testScripts.length)
90
+ recommendedPatches.push('Add a test runner (vitest, jest) and a `test` script.');
91
+ if (!hasGitHubWorkflows)
92
+ recommendedPatches.push('Create .github/workflows/ci.yml with build/test steps.');
93
+ if (!hasChangelog)
94
+ recommendedPatches.push('Initialize CHANGELOG.md (keepachangelog format).');
95
+ if (!hasLicense)
96
+ recommendedPatches.push('Add a LICENSE file (MIT, Apache-2.0, etc.).');
97
+ if (!hasReadme)
98
+ recommendedPatches.push('Write a README.md with install, usage, and contribution sections.');
99
+ if (!packageHealth.hasScriptsBuild)
100
+ recommendedPatches.push('Add a build script to package.json.');
101
+ if (!packageHealth.hasScriptsLint)
102
+ recommendedPatches.push('Add a lint script (eslint, biome).');
103
+ if (!hasTsConfig && hasPackageJson)
104
+ recommendedPatches.push('Add tsconfig.json for TypeScript projects.');
105
+ if (!hasTestsDir && !testScripts.length)
106
+ recommendedPatches.push('Create a tests/ directory for test files.');
107
+ const audit = {
108
+ target: resolved,
109
+ fileTree,
110
+ packageHealth,
111
+ buildScripts,
112
+ testScripts,
113
+ releaseRisks,
114
+ recommendedPatches,
115
+ };
116
+ if (ctx.flags.json) {
117
+ return {
118
+ success: true,
119
+ data: audit,
120
+ messages: [],
121
+ recommendations: recommendedPatches.slice(0, 3),
122
+ };
123
+ }
124
+ const messages = [];
125
+ messages.push(`📁 Audit target: ${resolved}`);
126
+ messages.push('');
127
+ messages.push('File tree (top-level):');
128
+ fileTree.forEach((f) => messages.push(` ${f}`));
129
+ messages.push('');
130
+ messages.push('Package health:');
131
+ messages.push(` package.json ${packageHealth.hasPackageJson ? '✅' : '❌'}`);
132
+ messages.push(` scripts.test ${packageHealth.hasScriptsTest ? '✅' : '❌'}`);
133
+ messages.push(` scripts.build ${packageHealth.hasScriptsBuild ? '✅' : '❌'}`);
134
+ messages.push(` scripts.lint ${packageHealth.hasScriptsLint ? '✅' : '❌'}`);
135
+ messages.push(` scripts.typecheck ${packageHealth.hasScriptsTypecheck ? '✅' : '❌'}`);
136
+ messages.push(` private flag ${packageHealth.hasPrivateFlag ? '✅' : '❌'}`);
137
+ messages.push('');
138
+ if (buildScripts.length) {
139
+ messages.push('Build scripts:');
140
+ buildScripts.forEach((s) => messages.push(` ${s.name}: ${s.command}`));
141
+ messages.push('');
142
+ }
143
+ if (testScripts.length) {
144
+ messages.push('Test scripts:');
145
+ testScripts.forEach((s) => messages.push(` ${s.name}: ${s.command}`));
146
+ messages.push('');
147
+ }
148
+ if (releaseRisks.length) {
149
+ messages.push('Release risks:');
150
+ releaseRisks.forEach((r) => messages.push(` ⚠️ ${r}`));
151
+ messages.push('');
152
+ }
153
+ else {
154
+ messages.push('Release risks: None found — looks solid!');
155
+ messages.push('');
156
+ }
157
+ messages.push('Recommended patches:');
158
+ recommendedPatches.forEach((p) => messages.push(` 🔧 ${p}`));
159
+ return {
160
+ success: true,
161
+ data: audit,
162
+ messages,
163
+ recommendations: recommendedPatches.slice(0, 3),
164
+ };
165
+ }
166
+ //# sourceMappingURL=audit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/workflows/sophie/audit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { WorkflowContext, WorkflowResult } from '../../runtime/workflow.js';
2
+ export declare function councilWorkflow(ctx: WorkflowContext): Promise<WorkflowResult>;
3
+ //# sourceMappingURL=council.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"council.d.ts","sourceRoot":"","sources":["../../../src/workflows/sophie/council.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAkBjF,wBAAsB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAiJnF"}