@antomanc/aginit 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -0
- package/README.md +108 -28
- package/THIRD_PARTY_NOTICES.md +92 -16
- package/dist/adapters/agent-docs.d.ts +32 -0
- package/dist/adapters/agent-docs.d.ts.map +1 -0
- package/dist/adapters/agent-docs.js +146 -0
- package/dist/adapters/agent-docs.js.map +1 -0
- package/dist/adapters/agents-md.d.ts +13 -1
- package/dist/adapters/agents-md.d.ts.map +1 -1
- package/dist/adapters/agents-md.js +137 -120
- package/dist/adapters/agents-md.js.map +1 -1
- package/dist/adapters/e2e.d.ts +15 -0
- package/dist/adapters/e2e.d.ts.map +1 -0
- package/dist/adapters/e2e.js +55 -0
- package/dist/adapters/e2e.js.map +1 -0
- package/dist/adapters/skills.d.ts +5 -0
- package/dist/adapters/skills.d.ts.map +1 -1
- package/dist/adapters/skills.js +17 -0
- package/dist/adapters/skills.js.map +1 -1
- package/dist/adapters/tool-ignores.d.ts +9 -0
- package/dist/adapters/tool-ignores.d.ts.map +1 -0
- package/dist/adapters/tool-ignores.js +121 -0
- package/dist/adapters/tool-ignores.js.map +1 -0
- package/dist/cli/capabilities.d.ts +17 -0
- package/dist/cli/capabilities.d.ts.map +1 -0
- package/dist/cli/capabilities.js +149 -0
- package/dist/cli/capabilities.js.map +1 -0
- package/dist/cli/doctor.d.ts +16 -0
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +104 -70
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/init.js +1 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +123 -20
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/new.d.ts +15 -1
- package/dist/cli/new.d.ts.map +1 -1
- package/dist/cli/new.js +163 -67
- package/dist/cli/new.js.map +1 -1
- package/dist/cli/wizard.d.ts +5 -0
- package/dist/cli/wizard.d.ts.map +1 -1
- package/dist/cli/wizard.js +104 -102
- package/dist/cli/wizard.js.map +1 -1
- package/dist/config/defaults.d.ts +14 -6
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +38 -174
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/schema.d.ts +14 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/config/validation.d.ts +1 -0
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +63 -0
- package/dist/config/validation.js.map +1 -1
- package/dist/detect/index.d.ts +18 -0
- package/dist/detect/index.d.ts.map +1 -0
- package/dist/detect/index.js +120 -0
- package/dist/detect/index.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/presets/cli.d.ts.map +1 -1
- package/dist/presets/cli.js +7 -0
- package/dist/presets/cli.js.map +1 -1
- package/dist/presets/generic.d.ts.map +1 -1
- package/dist/presets/generic.js +4 -1
- package/dist/presets/generic.js.map +1 -1
- package/dist/presets/testing.d.ts +1 -1
- package/dist/presets/testing.d.ts.map +1 -1
- package/dist/presets/testing.js +22 -8
- package/dist/presets/testing.js.map +1 -1
- package/dist/presets/web.d.ts.map +1 -1
- package/dist/presets/web.js +39 -5
- package/dist/presets/web.js.map +1 -1
- package/dist/registry/catalog.d.ts +13 -0
- package/dist/registry/catalog.d.ts.map +1 -0
- package/dist/registry/catalog.js +544 -0
- package/dist/registry/catalog.js.map +1 -0
- package/dist/registry/index.d.ts +84 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +309 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/setup.d.ts +14 -0
- package/dist/registry/setup.d.ts.map +1 -0
- package/dist/registry/setup.js +25 -0
- package/dist/registry/setup.js.map +1 -0
- package/dist/registry/types.d.ts +115 -0
- package/dist/registry/types.d.ts.map +1 -0
- package/dist/registry/types.js +2 -0
- package/dist/registry/types.js.map +1 -0
- package/package.json +3 -2
- package/src/adapters/agent-docs.ts +184 -0
- package/src/adapters/agents-md.ts +160 -137
- package/src/adapters/e2e.ts +58 -0
- package/src/adapters/skills.ts +18 -0
- package/src/adapters/tool-ignores.ts +158 -0
- package/src/cli/capabilities.ts +176 -0
- package/src/cli/doctor.ts +100 -66
- package/src/cli/init.ts +1 -1
- package/src/cli/main.ts +130 -20
- package/src/cli/new.ts +199 -73
- package/src/cli/wizard.ts +130 -103
- package/src/config/defaults.ts +57 -179
- package/src/config/schema.ts +15 -0
- package/src/config/validation.ts +56 -0
- package/src/detect/index.ts +134 -0
- package/src/index.ts +5 -0
- package/src/presets/cli.ts +6 -0
- package/src/presets/generic.ts +4 -1
- package/src/presets/testing.ts +29 -12
- package/src/presets/web.ts +39 -5
- package/src/registry/catalog.ts +569 -0
- package/src/registry/index.ts +395 -0
- package/src/registry/setup.ts +40 -0
- package/src/registry/types.ts +109 -0
package/dist/cli/wizard.js
CHANGED
|
@@ -2,6 +2,9 @@ import * as p from '@clack/prompts';
|
|
|
2
2
|
import pc from 'picocolors';
|
|
3
3
|
import { validateProjectName, readProjectConfig } from '../config/validation.js';
|
|
4
4
|
import { detectPackageManager } from '../adapters/package-manager.js';
|
|
5
|
+
import { detectProject } from '../detect/index.js';
|
|
6
|
+
import { presetPlatform } from '../config/defaults.js';
|
|
7
|
+
import { CATALOG, PLATFORMS, defaultCapabilities, isNodeStack, supports } from '../registry/index.js';
|
|
5
8
|
import { createProject } from './new.js';
|
|
6
9
|
import { initCurrentDirectory } from './init.js';
|
|
7
10
|
export function isInteractive() {
|
|
@@ -33,27 +36,10 @@ export async function promptNewProject(defaults) {
|
|
|
33
36
|
});
|
|
34
37
|
projectName = String(assertNotCancelled(res)).trim();
|
|
35
38
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
initialValue: 'web',
|
|
41
|
-
options: [
|
|
42
|
-
{
|
|
43
|
-
value: 'web',
|
|
44
|
-
label: 'Web Application',
|
|
45
|
-
hint: 'React, Next.js, Vite, or agnostic + Vitest/Playwright'
|
|
46
|
-
},
|
|
47
|
-
{ value: 'cli', label: 'CLI Tool', hint: 'TypeScript, Commander, Picocolors + Vitest' },
|
|
48
|
-
{
|
|
49
|
-
value: 'generic',
|
|
50
|
-
label: 'Generic / Existing Codebase',
|
|
51
|
-
hint: 'Codebase graph + agent intake guide'
|
|
52
|
-
}
|
|
53
|
-
]
|
|
54
|
-
});
|
|
55
|
-
preset = assertNotCancelled(res);
|
|
56
|
-
}
|
|
39
|
+
const platform = defaults?.profile?.platform ??
|
|
40
|
+
await promptPlatform(presetPlatform(defaults?.preset ?? 'web'));
|
|
41
|
+
const preset = defaults?.preset ??
|
|
42
|
+
(platform === 'web' ? 'web' : platform === 'cli' ? 'cli' : 'generic');
|
|
57
43
|
let framework = defaults?.framework || 'none';
|
|
58
44
|
if (preset === 'web' && defaults?.framework === undefined) {
|
|
59
45
|
const res = await p.select({
|
|
@@ -62,8 +48,8 @@ export async function promptNewProject(defaults) {
|
|
|
62
48
|
options: [
|
|
63
49
|
{
|
|
64
50
|
value: 'none',
|
|
65
|
-
label: '
|
|
66
|
-
hint: '
|
|
51
|
+
label: 'None',
|
|
52
|
+
hint: 'TypeScript baseline'
|
|
67
53
|
},
|
|
68
54
|
{
|
|
69
55
|
value: 'vite',
|
|
@@ -77,107 +63,113 @@ export async function promptNewProject(defaults) {
|
|
|
77
63
|
}
|
|
78
64
|
let packageManager = defaults?.packageManager;
|
|
79
65
|
if (!packageManager) {
|
|
80
|
-
|
|
81
|
-
message: 'Select package manager:',
|
|
82
|
-
initialValue: 'pnpm',
|
|
83
|
-
options: [
|
|
84
|
-
{
|
|
85
|
-
value: 'pnpm',
|
|
86
|
-
label: 'pnpm (Recommended)',
|
|
87
|
-
hint: 'Fast, disk-efficient & compliant workspace'
|
|
88
|
-
},
|
|
89
|
-
{ value: 'npm', label: 'npm', hint: 'Standard Node.js package manager' },
|
|
90
|
-
{ value: 'yarn', label: 'yarn', hint: 'Yarn package manager' },
|
|
91
|
-
{ value: 'bun', label: 'bun', hint: 'Fast all-in-one JavaScript runtime & toolkit' }
|
|
92
|
-
]
|
|
93
|
-
});
|
|
94
|
-
packageManager = assertNotCancelled(res);
|
|
66
|
+
packageManager = platform === 'mobile-native' ? 'pnpm' : await promptPackageManager();
|
|
95
67
|
}
|
|
68
|
+
const profile = await promptProfile(platform, 'unknown', framework, true, { ...defaults?.profile, platform });
|
|
96
69
|
return {
|
|
97
70
|
projectName,
|
|
98
71
|
preset,
|
|
99
72
|
framework,
|
|
100
|
-
packageManager
|
|
73
|
+
packageManager,
|
|
74
|
+
profile
|
|
101
75
|
};
|
|
102
76
|
}
|
|
103
77
|
export async function promptInitProject(defaults) {
|
|
104
78
|
const targetDir = defaults?.targetDir || process.cwd();
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
79
|
+
const detected = detectProject(targetDir);
|
|
80
|
+
const preset = defaults?.preset ?? 'generic';
|
|
81
|
+
const framework = defaults?.framework ?? 'existing';
|
|
82
|
+
const platform = defaults?.profile?.platform ??
|
|
83
|
+
(preset !== 'generic' ? presetPlatform(preset) : detected.platform ?? 'cli');
|
|
84
|
+
const stack = detected.stack;
|
|
85
|
+
p.note(stack === 'unknown'
|
|
86
|
+
? 'No stack detected. Choose a platform below.'
|
|
87
|
+
: `Detected ${stack}. Existing project files are preserved.`, 'Project');
|
|
88
|
+
const profile = await promptProfile(platform, stack, framework, preset !== 'generic' || detected.stack === 'unknown', defaults?.profile);
|
|
89
|
+
const packageManager = defaults?.packageManager ?? detectPackageManager(targetDir) ??
|
|
90
|
+
(isNodeStack(stack) || (stack === 'unknown' && profile.platform !== 'mobile-native')
|
|
91
|
+
? await promptPackageManager()
|
|
92
|
+
: 'pnpm');
|
|
93
|
+
return { preset, framework, packageManager, profile };
|
|
94
|
+
}
|
|
95
|
+
async function promptPackageManager() {
|
|
96
|
+
return assertNotCancelled(await p.select({
|
|
97
|
+
message: 'Package manager',
|
|
98
|
+
initialValue: 'pnpm',
|
|
99
|
+
options: ['pnpm', 'npm', 'yarn', 'bun'].map((value) => ({ value, label: value }))
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
async function promptPlatform(initialValue) {
|
|
103
|
+
const labels = {
|
|
104
|
+
web: 'Web',
|
|
105
|
+
'mobile-native': 'Native mobile',
|
|
106
|
+
'mobile-rn': 'React Native / Expo',
|
|
107
|
+
backend: 'Backend',
|
|
108
|
+
cli: 'CLI / library'
|
|
109
|
+
};
|
|
110
|
+
return assertNotCancelled(await p.select({
|
|
111
|
+
message: 'Platform',
|
|
112
|
+
initialValue,
|
|
113
|
+
options: PLATFORMS.map((value) => ({ value, label: labels[value] }))
|
|
114
|
+
}));
|
|
115
|
+
}
|
|
116
|
+
async function promptProfile(initialPlatform, stack, framework, harness, flags = {}) {
|
|
117
|
+
const platform = flags.platform ?? await promptPlatform(initialPlatform);
|
|
118
|
+
const resolvedStack = stack === 'unknown' && platform !== 'mobile-native' ? 'node' : stack;
|
|
119
|
+
const defaults = defaultCapabilities({ platform, stack: resolvedStack, framework, harness });
|
|
120
|
+
const choose = async (category, message, allowNone = false) => {
|
|
121
|
+
const entries = CATALOG.filter((c) => c.category === category && !c.addon && supports(c, platform) &&
|
|
122
|
+
(!c.requiresNodeInProjectRoot || isNodeStack(resolvedStack)));
|
|
123
|
+
return assertNotCancelled(await p.select({
|
|
124
|
+
message,
|
|
125
|
+
initialValue: [...defaults].reverse().find((id) => entries.some((c) => c.id === id)) ??
|
|
126
|
+
(allowNone ? 'none' : entries[0]?.id),
|
|
127
127
|
options: [
|
|
128
|
-
{
|
|
129
|
-
|
|
130
|
-
label: 'Existing Web Setup (Recommended)',
|
|
131
|
-
hint: 'Preserve existing bundler and dependencies'
|
|
132
|
-
},
|
|
133
|
-
{ value: 'none', label: 'Framework-agnostic', hint: 'Baseline TypeScript' },
|
|
134
|
-
{ value: 'vite', label: 'Vite', hint: 'Vite React setup' },
|
|
135
|
-
{ value: 'next', label: 'Next.js', hint: 'Next.js setup' }
|
|
128
|
+
...entries.map((c) => ({ value: c.id, label: c.name, hint: c.description })),
|
|
129
|
+
...(allowNone ? [{ value: 'none', label: 'None' }] : [])
|
|
136
130
|
]
|
|
137
|
-
});
|
|
138
|
-
framework = assertNotCancelled(res);
|
|
139
|
-
}
|
|
140
|
-
// Auto-detect and preserve existing package manager without prompting
|
|
141
|
-
let packageManager = defaults?.packageManager;
|
|
142
|
-
if (!packageManager) {
|
|
143
|
-
const detected = detectPackageManager(targetDir);
|
|
144
|
-
if (detected) {
|
|
145
|
-
packageManager = detected;
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
const res = await p.select({
|
|
149
|
-
message: 'Select package manager for this project:',
|
|
150
|
-
initialValue: 'pnpm',
|
|
151
|
-
options: [
|
|
152
|
-
{ value: 'pnpm', label: 'pnpm (Recommended)', hint: 'Fast, disk-efficient workspace' },
|
|
153
|
-
{ value: 'npm', label: 'npm', hint: 'Standard Node.js package manager' },
|
|
154
|
-
{ value: 'yarn', label: 'yarn', hint: 'Yarn package manager' },
|
|
155
|
-
{ value: 'bun', label: 'bun', hint: 'Fast runtime and package manager' }
|
|
156
|
-
]
|
|
157
|
-
});
|
|
158
|
-
packageManager = assertNotCancelled(res);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
return {
|
|
162
|
-
preset,
|
|
163
|
-
framework,
|
|
164
|
-
packageManager
|
|
131
|
+
}));
|
|
165
132
|
};
|
|
133
|
+
const methodology = flags.methodology ?? await choose('methodology', 'Methodology');
|
|
134
|
+
const design = flags.design ?? await choose('design', 'Design', true);
|
|
135
|
+
const testing = flags.testing ?? await choose('testing-engine', 'Testing engine');
|
|
136
|
+
const uiDriver = flags.uiDriver ?? await choose('ui-driver', 'UI driver', true);
|
|
137
|
+
const addons = flags.addons ?? assertNotCancelled(await p.multiselect({
|
|
138
|
+
message: 'Add-ons',
|
|
139
|
+
required: false,
|
|
140
|
+
options: CATALOG.filter((c) => c.addon && supports(c, platform) &&
|
|
141
|
+
(!c.requiresNodeInProjectRoot || isNodeStack(resolvedStack)))
|
|
142
|
+
.map((c) => ({ value: c.id, label: c.name, hint: c.description }))
|
|
143
|
+
}));
|
|
144
|
+
return { ...flags, platform, methodology, design, testing: testing, uiDriver, addons };
|
|
145
|
+
}
|
|
146
|
+
async function confirmSetup(answers) {
|
|
147
|
+
const profile = answers.profile;
|
|
148
|
+
const name = (id) => CATALOG.find((c) => c.id === id)?.name ?? id;
|
|
149
|
+
p.note([
|
|
150
|
+
`Platform: ${profile.platform}`,
|
|
151
|
+
`Methodology: ${name(profile.methodology)}`,
|
|
152
|
+
`Design: ${name(profile.design)}`,
|
|
153
|
+
`Testing: ${name(profile.testing)}`,
|
|
154
|
+
`UI driver: ${name(profile.uiDriver)}`,
|
|
155
|
+
`Add-ons: ${profile.addons?.map(name).join(', ') || 'None'}`
|
|
156
|
+
].join('\n'), 'Setup');
|
|
157
|
+
return assertNotCancelled(await p.confirm({ message: 'Apply this setup?', initialValue: true }));
|
|
166
158
|
}
|
|
167
159
|
export async function runInteractiveWizard() {
|
|
168
160
|
p.intro(pc.bgCyan(pc.black(' aginit ')) + pc.dim(' — AI-First Project Bootstrap'));
|
|
169
161
|
const action = assertNotCancelled(await p.select({
|
|
170
162
|
message: 'What would you like to do?',
|
|
171
|
-
initialValue: 'new',
|
|
163
|
+
initialValue: detectProject(process.cwd()).platform ? 'init' : 'new',
|
|
172
164
|
options: [
|
|
173
165
|
{
|
|
174
166
|
value: 'new',
|
|
175
|
-
label: '
|
|
167
|
+
label: 'New project',
|
|
176
168
|
hint: 'Scaffold in a new directory'
|
|
177
169
|
},
|
|
178
170
|
{
|
|
179
171
|
value: 'init',
|
|
180
|
-
label: '
|
|
172
|
+
label: 'Current directory',
|
|
181
173
|
hint: 'Add AGENTS.md, skills & Graft safely'
|
|
182
174
|
}
|
|
183
175
|
]
|
|
@@ -185,11 +177,16 @@ export async function runInteractiveWizard() {
|
|
|
185
177
|
let complete;
|
|
186
178
|
if (action === 'new') {
|
|
187
179
|
const answers = await promptNewProject();
|
|
180
|
+
if (!(await confirmSetup(answers))) {
|
|
181
|
+
p.outro('Setup cancelled.');
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
188
184
|
p.outro(pc.cyan(`Scaffolding "${answers.projectName}"...`));
|
|
189
185
|
complete = await createProject(answers.projectName, {
|
|
190
186
|
preset: answers.preset,
|
|
191
187
|
framework: answers.framework,
|
|
192
|
-
packageManager: answers.packageManager
|
|
188
|
+
packageManager: answers.packageManager,
|
|
189
|
+
profile: answers.profile
|
|
193
190
|
});
|
|
194
191
|
}
|
|
195
192
|
else {
|
|
@@ -200,11 +197,16 @@ export async function runInteractiveWizard() {
|
|
|
200
197
|
}
|
|
201
198
|
else {
|
|
202
199
|
const answers = await promptInitProject();
|
|
200
|
+
if (!(await confirmSetup(answers))) {
|
|
201
|
+
p.outro('Setup cancelled.');
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
203
204
|
p.outro(pc.cyan('Configuring current directory...'));
|
|
204
205
|
complete = await initCurrentDirectory({
|
|
205
206
|
preset: answers.preset,
|
|
206
207
|
framework: answers.framework,
|
|
207
|
-
packageManager: answers.packageManager
|
|
208
|
+
packageManager: answers.packageManager,
|
|
209
|
+
profile: answers.profile
|
|
208
210
|
});
|
|
209
211
|
}
|
|
210
212
|
}
|
package/dist/cli/wizard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/cli/wizard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEjD,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,kBAAkB,CAAI,KAAiB;IAC9C,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,CAAC,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,KAA2B,CAAC;AACrC,CAAC;
|
|
1
|
+
{"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../src/cli/wizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
import { AginitConfig, PresetType, WebFramework, PackageManager } from './schema.js';
|
|
2
|
+
import { MATT_POCOCK_SKILLS, Platform, ProfileFlags, Stack } from '../registry/index.js';
|
|
3
|
+
export { MATT_POCOCK_SKILLS };
|
|
2
4
|
export interface DefaultConfigOptions {
|
|
3
5
|
framework?: WebFramework;
|
|
4
6
|
packageManager?: PackageManager;
|
|
7
|
+
/** Defaults to the preset's platform (generic: cli). */
|
|
8
|
+
platform?: Platform;
|
|
9
|
+
/** Defaults to node: every preset scaffolds a Node project unless a stack is detected. */
|
|
10
|
+
stack?: Stack;
|
|
11
|
+
flags?: ProfileFlags;
|
|
12
|
+
/** Skip skill sources (`--no-skills`). */
|
|
13
|
+
skills?: boolean;
|
|
14
|
+
/** false when the preset will not scaffold a Vitest harness. */
|
|
15
|
+
harness?: boolean;
|
|
5
16
|
}
|
|
17
|
+
export declare function presetPlatform(preset: PresetType): Platform;
|
|
6
18
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* The `misc` (rarely used) and `in-progress` categories are deliberately
|
|
11
|
-
* excluded. Re-evaluate when the upstream repository reshuffles categories.
|
|
19
|
+
* A fresh config: the preset's scaffolding settings plus the capabilities the
|
|
20
|
+
* registry enables for the platform, stack and profile flags.
|
|
12
21
|
*/
|
|
13
|
-
export declare const MATT_POCOCK_SKILLS: readonly ['ask-matt', 'code-review', 'codebase-design', 'diagnosing-bugs', 'domain-modeling', 'grill-with-docs', 'implement', 'implement-spec', 'improve-codebase-architecture', 'pr', 'prototype', 'research', 'retro', 'setup-matt-pocock-skills', 'tdd', 'to-spec', 'to-tickets', 'triage', 'wayfinder', 'wizard', 'grill-me', 'grilling', 'handoff', 'teach', 'to-questionnaire', 'wait-what', 'writing-for-agents'];
|
|
14
22
|
export declare function getDefaultConfig(name: string, preset: PresetType, options?: DefaultConfigOptions): AginitConfig;
|
|
15
23
|
/**
|
|
16
24
|
* Bring a saved `skills` section forward to the current standard: install the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,cAAc,EAEf,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,cAAc,EAEf,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,kBAAkB,EAClB,QAAQ,EACR,YAAY,EAEZ,KAAK,EACN,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,wDAAwD;IACxD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAE3D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,EAClB,OAAO,GAAE,oBAAyB,GACjC,YAAY,CAiCd;AAeD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,GAC7B,YAAY,CAAC,QAAQ,CAAC,CAYxB"}
|
package/dist/config/defaults.js
CHANGED
|
@@ -1,181 +1,45 @@
|
|
|
1
|
+
import { applyResolvedProfile, isNodeStack, MATT_POCOCK_SKILLS, resolveCapabilities } from '../registry/index.js';
|
|
2
|
+
export { MATT_POCOCK_SKILLS };
|
|
3
|
+
export function presetPlatform(preset) {
|
|
4
|
+
return preset === 'web' ? 'web' : 'cli';
|
|
5
|
+
}
|
|
1
6
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* The `misc` (rarely used) and `in-progress` categories are deliberately
|
|
6
|
-
* excluded. Re-evaluate when the upstream repository reshuffles categories.
|
|
7
|
+
* A fresh config: the preset's scaffolding settings plus the capabilities the
|
|
8
|
+
* registry enables for the platform, stack and profile flags.
|
|
7
9
|
*/
|
|
8
|
-
export const MATT_POCOCK_SKILLS = [
|
|
9
|
-
// engineering
|
|
10
|
-
'ask-matt',
|
|
11
|
-
'code-review',
|
|
12
|
-
'codebase-design',
|
|
13
|
-
'diagnosing-bugs',
|
|
14
|
-
'domain-modeling',
|
|
15
|
-
'grill-with-docs',
|
|
16
|
-
'implement',
|
|
17
|
-
'implement-spec',
|
|
18
|
-
'improve-codebase-architecture',
|
|
19
|
-
'pr',
|
|
20
|
-
'prototype',
|
|
21
|
-
'research',
|
|
22
|
-
'retro',
|
|
23
|
-
'setup-matt-pocock-skills',
|
|
24
|
-
'tdd',
|
|
25
|
-
'to-spec',
|
|
26
|
-
'to-tickets',
|
|
27
|
-
'triage',
|
|
28
|
-
'wayfinder',
|
|
29
|
-
'wizard',
|
|
30
|
-
// productivity
|
|
31
|
-
'grill-me',
|
|
32
|
-
'grilling',
|
|
33
|
-
'handoff',
|
|
34
|
-
'teach',
|
|
35
|
-
'to-questionnaire',
|
|
36
|
-
'wait-what',
|
|
37
|
-
'writing-for-agents'
|
|
38
|
-
];
|
|
39
10
|
export function getDefaultConfig(name, preset, options = {}) {
|
|
40
11
|
const packageManager = options.packageManager || 'pnpm';
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
skills: ['impeccable']
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
package: 'vercel-labs/agent-browser',
|
|
76
|
-
skills: ['agent-browser']
|
|
77
|
-
}
|
|
78
|
-
]
|
|
79
|
-
},
|
|
80
|
-
codebase: {
|
|
81
|
-
graft: true
|
|
82
|
-
},
|
|
83
|
-
browser: {
|
|
84
|
-
visualAgent: true,
|
|
85
|
-
playwright: hasWebTarget
|
|
86
|
-
},
|
|
87
|
-
docs: {
|
|
88
|
-
adr: true
|
|
89
|
-
},
|
|
90
|
-
github: {
|
|
91
|
-
ci: true
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
case 'cli':
|
|
96
|
-
return {
|
|
97
|
-
schemaVersion: '1.0.0',
|
|
98
|
-
name,
|
|
99
|
-
preset: 'cli',
|
|
100
|
-
packageManager,
|
|
101
|
-
agents: {
|
|
102
|
-
primary: 'antigravity',
|
|
103
|
-
secondary: 'codex',
|
|
104
|
-
claudeCode: true
|
|
105
|
-
},
|
|
106
|
-
skills: {
|
|
107
|
-
sources: [
|
|
108
|
-
{
|
|
109
|
-
package: 'mattpocock/skills',
|
|
110
|
-
skills: [...MATT_POCOCK_SKILLS]
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
package: 'blader/humanizer',
|
|
114
|
-
skills: ['humanizer']
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
package: 'dietrichgebert/ponytail',
|
|
118
|
-
skills: ['ponytail']
|
|
119
|
-
}
|
|
120
|
-
]
|
|
121
|
-
},
|
|
122
|
-
codebase: {
|
|
123
|
-
graft: true
|
|
124
|
-
},
|
|
125
|
-
browser: {
|
|
126
|
-
visualAgent: false,
|
|
127
|
-
playwright: false
|
|
128
|
-
},
|
|
129
|
-
docs: {
|
|
130
|
-
adr: true
|
|
131
|
-
},
|
|
132
|
-
github: {
|
|
133
|
-
ci: true
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
case 'generic':
|
|
137
|
-
default:
|
|
138
|
-
return {
|
|
139
|
-
schemaVersion: '1.0.0',
|
|
140
|
-
name,
|
|
141
|
-
preset: 'generic',
|
|
142
|
-
packageManager,
|
|
143
|
-
agents: {
|
|
144
|
-
primary: 'antigravity',
|
|
145
|
-
secondary: 'codex',
|
|
146
|
-
claudeCode: true
|
|
147
|
-
},
|
|
148
|
-
skills: {
|
|
149
|
-
sources: [
|
|
150
|
-
{
|
|
151
|
-
package: 'mattpocock/skills',
|
|
152
|
-
skills: [...MATT_POCOCK_SKILLS]
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
package: 'blader/humanizer',
|
|
156
|
-
skills: ['humanizer']
|
|
157
|
-
},
|
|
158
|
-
{
|
|
159
|
-
package: 'dietrichgebert/ponytail',
|
|
160
|
-
skills: ['ponytail']
|
|
161
|
-
}
|
|
162
|
-
]
|
|
163
|
-
},
|
|
164
|
-
codebase: {
|
|
165
|
-
graft: true
|
|
166
|
-
},
|
|
167
|
-
browser: {
|
|
168
|
-
visualAgent: false,
|
|
169
|
-
playwright: false
|
|
170
|
-
},
|
|
171
|
-
docs: {
|
|
172
|
-
adr: true
|
|
173
|
-
},
|
|
174
|
-
github: {
|
|
175
|
-
ci: false
|
|
176
|
-
}
|
|
177
|
-
};
|
|
178
|
-
}
|
|
12
|
+
const platform = options.platform ?? presetPlatform(preset);
|
|
13
|
+
const stack = options.stack ?? 'node';
|
|
14
|
+
const framework = preset === 'web' ? options.framework || 'none' : undefined;
|
|
15
|
+
const base = {
|
|
16
|
+
schemaVersion: '1.0.0',
|
|
17
|
+
name,
|
|
18
|
+
preset,
|
|
19
|
+
...(framework ? { framework } : {}),
|
|
20
|
+
// Only Node projects have a package manager; the others use their host toolchain.
|
|
21
|
+
...(isNodeStack(stack) ? { packageManager } : {}),
|
|
22
|
+
platform,
|
|
23
|
+
stack,
|
|
24
|
+
agents: {
|
|
25
|
+
primary: 'antigravity',
|
|
26
|
+
secondary: 'codex',
|
|
27
|
+
claudeCode: true
|
|
28
|
+
},
|
|
29
|
+
skills: { sources: [] },
|
|
30
|
+
codebase: { graft: true },
|
|
31
|
+
browser: { visualAgent: false, playwright: false },
|
|
32
|
+
docs: { adr: true },
|
|
33
|
+
github: { ci: preset !== 'generic' }
|
|
34
|
+
};
|
|
35
|
+
const profile = resolveCapabilities({
|
|
36
|
+
platform,
|
|
37
|
+
stack,
|
|
38
|
+
framework,
|
|
39
|
+
harness: options.harness,
|
|
40
|
+
flags: options.flags
|
|
41
|
+
});
|
|
42
|
+
return applyResolvedProfile(base, profile, { skills: options.skills !== false });
|
|
179
43
|
}
|
|
180
44
|
/** The skill selections that older versions of aginit wrote as defaults. */
|
|
181
45
|
const LEGACY_MATT_SKILL_SELECTIONS = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/config/defaults.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAGlB,mBAAmB,EAEpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAgB9B,MAAM,UAAU,cAAc,CAAC,MAAkB;IAC/C,OAAO,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,MAAkB,EAClB,OAAO,GAAyB,EAAE;IAElC,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC;IACtC,MAAM,SAAS,GAAG,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,MAAM,IAAI,GAAiB;QACzB,aAAa,EAAE,OAAO;QACtB,IAAI;QACJ,MAAM;QACN,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,kFAAkF;QAClF,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,QAAQ;QACR,KAAK;QACL,MAAM,EAAE;YACN,OAAO,EAAE,aAAa;YACtB,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,IAAI;SACjB;QACD,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACvB,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;QACzB,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE;QAClD,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;QACnB,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,KAAK,SAAS,EAAE;KACrC,CAAC;IACF,MAAM,OAAO,GAAG,mBAAmB,CAAC;QAClC,QAAQ;QACR,KAAK;QACL,SAAS;QACT,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC,CAAC;IACH,OAAO,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,4EAA4E;AAC5E,MAAM,4BAA4B,GAAe;IAC/C,CAAC,KAAK,EAAE,aAAa,EAAE,iBAAiB,CAAC;IACzC,CAAC,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,CAAC;CACrF,CAAC;AAEF,SAAS,sBAAsB,CAAC,MAAgB;IAC9C,OAAO,4BAA4B,CAAC,IAAI,CACtC,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAC3F,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAA8B;IAE9B,MAAM,OAAO,GAAwB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACjE,MAAM,CAAC,OAAO,KAAK,mBAAmB,IAAI,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC;QAC7E,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,kBAAkB,CAAC,EAAE;QAChD,CAAC,CAAC,MAAM,CACX,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACnF,IAAI,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;IAE7B,MAAM,QAAQ,GAA2B,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC;IAChE,OAAO,QAAQ,CAAC,QAAQ,CAAC;IACzB,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/config/schema.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CustomCapabilityConfig, Platform, Stack } from '../registry/types.js';
|
|
1
2
|
export type PresetType = 'web' | 'cli' | 'generic';
|
|
2
3
|
export type WebFramework = 'none' | 'vite' | 'next' | 'existing';
|
|
3
4
|
export type PackageManager = 'pnpm' | 'npm' | 'yarn' | 'bun';
|
|
@@ -42,6 +43,19 @@ export interface AginitConfig {
|
|
|
42
43
|
github: {
|
|
43
44
|
ci: boolean;
|
|
44
45
|
};
|
|
46
|
+
/** Target platform. Missing in pre-v2 configs; detected from the project then. */
|
|
47
|
+
platform?: Platform;
|
|
48
|
+
/** Host toolchain. Missing in pre-v2 configs; detected from the project then. */
|
|
49
|
+
stack?: Stack;
|
|
50
|
+
/**
|
|
51
|
+
* Enabled capability ids from the registry (src/registry/catalog.ts).
|
|
52
|
+
* Missing in pre-v2 configs; inferred from skills.sources and the switches above.
|
|
53
|
+
*/
|
|
54
|
+
capabilities?: string[];
|
|
55
|
+
/** Skill repositories added on top of the registry; always enabled unless disabled. */
|
|
56
|
+
customCapabilities?: CustomCapabilityConfig[];
|
|
57
|
+
/** Capability ids to keep off, even when a preset or platform default would enable them. */
|
|
58
|
+
disabledCapabilities?: string[];
|
|
45
59
|
}
|
|
46
60
|
export type AIProjectConfig = AginitConfig;
|
|
47
61
|
export declare const AGINIT_CONFIG_FILENAME = "aginit.config.json";
|