@antomanc/aginit 0.2.0 → 0.4.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 +21 -0
- package/README.md +94 -67
- package/THIRD_PARTY_NOTICES.md +6 -0
- package/dist/adapters/agent-browser.d.ts +54 -0
- package/dist/adapters/agent-browser.d.ts.map +1 -0
- package/dist/adapters/agent-browser.js +122 -0
- package/dist/adapters/agent-browser.js.map +1 -0
- package/dist/adapters/agents-md.d.ts +12 -0
- package/dist/adapters/agents-md.d.ts.map +1 -1
- package/dist/adapters/agents-md.js +31 -1
- package/dist/adapters/agents-md.js.map +1 -1
- package/dist/adapters/graft.d.ts +1 -0
- package/dist/adapters/graft.d.ts.map +1 -1
- package/dist/adapters/graft.js +5 -3
- package/dist/adapters/graft.js.map +1 -1
- package/dist/adapters/skills.d.ts +20 -1
- package/dist/adapters/skills.d.ts.map +1 -1
- package/dist/adapters/skills.js +38 -1
- package/dist/adapters/skills.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +108 -2
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +8 -4
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/new.d.ts.map +1 -1
- package/dist/cli/new.js +25 -6
- package/dist/cli/new.js.map +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +18 -3
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/schema.d.ts +5 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +2 -0
- package/dist/config/validation.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +14 -7
- package/src/adapters/agent-browser.ts +162 -0
- package/src/adapters/agents-md.ts +37 -1
- package/src/adapters/graft.ts +6 -4
- package/src/adapters/skills.ts +46 -2
- package/src/cli/doctor.ts +128 -2
- package/src/cli/main.ts +8 -4
- package/src/cli/new.ts +28 -6
- package/src/config/defaults.ts +18 -3
- package/src/config/schema.ts +5 -0
- package/src/config/validation.ts +2 -0
- package/src/index.ts +1 -0
package/src/cli/new.ts
CHANGED
|
@@ -9,9 +9,14 @@ import {
|
|
|
9
9
|
} from '../config/schema.js';
|
|
10
10
|
import { getPreset } from '../presets/registry.js';
|
|
11
11
|
import { setupGit } from '../adapters/git.js';
|
|
12
|
-
import { setupAgentsMarkdown } from '../adapters/agents-md.js';
|
|
13
|
-
import { installAllSkills } from '../adapters/skills.js';
|
|
12
|
+
import { setupAgentsMarkdown, setupClaudeMarkdown } from '../adapters/agents-md.js';
|
|
13
|
+
import { claudeCodeEnabled, installAllSkills, skillAgents } from '../adapters/skills.js';
|
|
14
14
|
import { initGraft } from '../adapters/graft.js';
|
|
15
|
+
import {
|
|
16
|
+
agentBrowserConfigured,
|
|
17
|
+
agentBrowserStubInstalled,
|
|
18
|
+
setupAgentBrowser
|
|
19
|
+
} from '../adapters/agent-browser.js';
|
|
15
20
|
import { ensureDir, writeJsonFile } from '../utils/fs.js';
|
|
16
21
|
import {
|
|
17
22
|
readProjectConfig,
|
|
@@ -100,7 +105,11 @@ export async function createProject(
|
|
|
100
105
|
);
|
|
101
106
|
let complete = true;
|
|
102
107
|
|
|
103
|
-
|
|
108
|
+
// The agent-browser skill stub is inert without its CLI and browser
|
|
109
|
+
// binaries, so provisioning them gets its own step when the skill applies.
|
|
110
|
+
const agentBrowserWanted =
|
|
111
|
+
agentBrowserConfigured(config.skills.sources) || agentBrowserStubInstalled(targetDir);
|
|
112
|
+
const totalSteps = agentBrowserWanted ? 7 : 6;
|
|
104
113
|
let currentStep = 1;
|
|
105
114
|
|
|
106
115
|
// Scaffold into the clean directory before Git adds files that upstream tools reject.
|
|
@@ -128,13 +137,14 @@ export async function createProject(
|
|
|
128
137
|
// Step 4: Write or update AGENTS.md intake contract
|
|
129
138
|
if (!silent) logger.step(currentStep++, totalSteps, 'Generating AGENTS.md intake guidance');
|
|
130
139
|
setupAgentsMarkdown(targetDir, config, { dryRun, silent });
|
|
140
|
+
if (claudeCodeEnabled(config)) setupClaudeMarkdown(targetDir, { dryRun, silent });
|
|
131
141
|
if (!silent) logger.success('Configured AGENTS.md');
|
|
132
142
|
|
|
133
143
|
// Step 5: Install skills via skills.sh engine
|
|
134
144
|
if (!silent) logger.step(currentStep++, totalSteps, 'Installing upstream skills via skills.sh');
|
|
135
145
|
if (options.skills !== false && config.skills.sources.length > 0) {
|
|
136
146
|
const { installed, failed } = await installAllSkills(targetDir, config.skills.sources, {
|
|
137
|
-
agents:
|
|
147
|
+
agents: skillAgents(config),
|
|
138
148
|
dryRun,
|
|
139
149
|
silent
|
|
140
150
|
});
|
|
@@ -151,10 +161,22 @@ export async function createProject(
|
|
|
151
161
|
logger.dim('Skills installation skipped (--no-skills or empty configuration)');
|
|
152
162
|
}
|
|
153
163
|
|
|
154
|
-
//
|
|
164
|
+
// Provision the agent-browser runtime the skill stub drives
|
|
165
|
+
if (agentBrowserWanted) {
|
|
166
|
+
if (!silent) logger.step(currentStep++, totalSteps, 'Provisioning agent-browser runtime');
|
|
167
|
+
const abOk = await setupAgentBrowser({ dryRun, silent, cwd: targetDir });
|
|
168
|
+
complete &&= abOk;
|
|
169
|
+
if (!silent && abOk) logger.success('agent-browser runtime ready (CLI + browser)');
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// Codebase intelligence (Graft)
|
|
155
173
|
if (!silent) logger.step(currentStep++, totalSteps, 'Configuring codebase intelligence');
|
|
156
174
|
if (config.codebase.graft && options.graft !== false) {
|
|
157
|
-
const graftOk = await initGraft(targetDir, {
|
|
175
|
+
const graftOk = await initGraft(targetDir, {
|
|
176
|
+
dryRun,
|
|
177
|
+
silent,
|
|
178
|
+
claude: claudeCodeEnabled(config)
|
|
179
|
+
});
|
|
158
180
|
complete &&= graftOk;
|
|
159
181
|
if (graftOk && !silent) {
|
|
160
182
|
logger.success('Graft context graph initialized');
|
package/src/config/defaults.ts
CHANGED
|
@@ -70,7 +70,8 @@ export function getDefaultConfig(
|
|
|
70
70
|
packageManager,
|
|
71
71
|
agents: {
|
|
72
72
|
primary: 'antigravity',
|
|
73
|
-
secondary: 'codex'
|
|
73
|
+
secondary: 'codex',
|
|
74
|
+
claudeCode: true
|
|
74
75
|
},
|
|
75
76
|
skills: {
|
|
76
77
|
sources: [
|
|
@@ -82,6 +83,10 @@ export function getDefaultConfig(
|
|
|
82
83
|
package: 'blader/humanizer',
|
|
83
84
|
skills: ['humanizer']
|
|
84
85
|
},
|
|
86
|
+
{
|
|
87
|
+
package: 'dietrichgebert/ponytail',
|
|
88
|
+
skills: ['ponytail']
|
|
89
|
+
},
|
|
85
90
|
{
|
|
86
91
|
package: 'pbakaus/impeccable',
|
|
87
92
|
skills: ['impeccable']
|
|
@@ -116,7 +121,8 @@ export function getDefaultConfig(
|
|
|
116
121
|
packageManager,
|
|
117
122
|
agents: {
|
|
118
123
|
primary: 'antigravity',
|
|
119
|
-
secondary: 'codex'
|
|
124
|
+
secondary: 'codex',
|
|
125
|
+
claudeCode: true
|
|
120
126
|
},
|
|
121
127
|
skills: {
|
|
122
128
|
sources: [
|
|
@@ -127,6 +133,10 @@ export function getDefaultConfig(
|
|
|
127
133
|
{
|
|
128
134
|
package: 'blader/humanizer',
|
|
129
135
|
skills: ['humanizer']
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
package: 'dietrichgebert/ponytail',
|
|
139
|
+
skills: ['ponytail']
|
|
130
140
|
}
|
|
131
141
|
]
|
|
132
142
|
},
|
|
@@ -154,7 +164,8 @@ export function getDefaultConfig(
|
|
|
154
164
|
packageManager,
|
|
155
165
|
agents: {
|
|
156
166
|
primary: 'antigravity',
|
|
157
|
-
secondary: 'codex'
|
|
167
|
+
secondary: 'codex',
|
|
168
|
+
claudeCode: true
|
|
158
169
|
},
|
|
159
170
|
skills: {
|
|
160
171
|
sources: [
|
|
@@ -165,6 +176,10 @@ export function getDefaultConfig(
|
|
|
165
176
|
{
|
|
166
177
|
package: 'blader/humanizer',
|
|
167
178
|
skills: ['humanizer']
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
package: 'dietrichgebert/ponytail',
|
|
182
|
+
skills: ['ponytail']
|
|
168
183
|
}
|
|
169
184
|
]
|
|
170
185
|
},
|
package/src/config/schema.ts
CHANGED
|
@@ -16,6 +16,11 @@ export interface AginitConfig {
|
|
|
16
16
|
agents: {
|
|
17
17
|
primary: string;
|
|
18
18
|
secondary: string;
|
|
19
|
+
/**
|
|
20
|
+
* Also install skills, Graft wiring and a CLAUDE.md import for Claude Code.
|
|
21
|
+
* Missing in configs written before 0.4.0; treated as enabled.
|
|
22
|
+
*/
|
|
23
|
+
claudeCode?: boolean;
|
|
19
24
|
};
|
|
20
25
|
skills: {
|
|
21
26
|
/**
|
package/src/config/validation.ts
CHANGED
|
@@ -45,6 +45,8 @@ export function validateConfig(value: unknown): AginitConfig {
|
|
|
45
45
|
if (!isRecord(value.agents)) fail('agents');
|
|
46
46
|
for (const key of ['primary', 'secondary'])
|
|
47
47
|
validateUpstreamArgument(value.agents[key], `agent ${key}`);
|
|
48
|
+
if (value.agents.claudeCode !== undefined && typeof value.agents.claudeCode !== 'boolean')
|
|
49
|
+
fail('agents.claudeCode');
|
|
48
50
|
if (!isRecord(value.skills) || !Array.isArray(value.skills.sources)) fail('skills.sources');
|
|
49
51
|
if (value.skills.workflow !== undefined && !['minimal', 'spec'].includes(value.skills.workflow))
|
|
50
52
|
fail('skills.workflow');
|
package/src/index.ts
CHANGED
|
@@ -9,6 +9,7 @@ export * from './adapters/skills.js';
|
|
|
9
9
|
export * from './adapters/graft.js';
|
|
10
10
|
export * from './adapters/agents-md.js';
|
|
11
11
|
export * from './adapters/browser.js';
|
|
12
|
+
export * from './adapters/agent-browser.js';
|
|
12
13
|
export * from './cli/new.js';
|
|
13
14
|
export * from './cli/init.js';
|
|
14
15
|
export * from './cli/doctor.js';
|