@antomanc/aginit 0.5.1 → 0.6.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 +14 -0
- package/README.md +13 -10
- package/THIRD_PARTY_NOTICES.md +3 -3
- package/dist/adapters/agent-docs.d.ts.map +1 -1
- package/dist/adapters/agent-docs.js +4 -2
- package/dist/adapters/agent-docs.js.map +1 -1
- package/dist/adapters/agents-md.d.ts +4 -1
- package/dist/adapters/agents-md.d.ts.map +1 -1
- package/dist/adapters/agents-md.js +20 -16
- package/dist/adapters/agents-md.js.map +1 -1
- package/dist/adapters/git.d.ts.map +1 -1
- package/dist/adapters/git.js +0 -6
- package/dist/adapters/git.js.map +1 -1
- package/dist/adapters/tool-ignores.d.ts.map +1 -1
- package/dist/adapters/tool-ignores.js +25 -1
- package/dist/adapters/tool-ignores.js.map +1 -1
- package/dist/adapters/trail.d.ts +15 -0
- package/dist/adapters/{graft.d.ts.map → trail.d.ts.map} +1 -1
- package/dist/adapters/trail.js +68 -0
- package/dist/adapters/trail.js.map +1 -0
- package/dist/cli/capabilities.js +8 -8
- package/dist/cli/doctor.js +8 -8
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/main.js +13 -13
- package/dist/cli/new.d.ts +1 -1
- package/dist/cli/new.js +5 -5
- package/dist/cli/wizard.d.ts +1 -0
- package/dist/cli/wizard.d.ts.map +1 -1
- package/dist/cli/wizard.js +5 -3
- package/dist/cli/wizard.js.map +1 -1
- package/dist/config/defaults.js +1 -1
- package/dist/config/schema.d.ts +2 -2
- package/dist/config/validation.d.ts +1 -1
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js +15 -3
- package/dist/config/validation.js.map +1 -1
- package/dist/detect/index.d.ts +2 -0
- package/dist/detect/index.d.ts.map +1 -1
- package/dist/detect/index.js +15 -2
- package/dist/detect/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/registry/catalog.d.ts.map +1 -1
- package/dist/registry/catalog.js +14 -10
- package/dist/registry/catalog.js.map +1 -1
- package/dist/registry/index.d.ts +1 -1
- package/dist/registry/index.js +5 -5
- package/dist/registry/setup.js +3 -3
- package/dist/registry/types.d.ts +3 -1
- package/dist/registry/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/adapters/agent-docs.ts +4 -2
- package/src/adapters/agents-md.ts +23 -16
- package/src/adapters/git.ts +0 -6
- package/src/adapters/tool-ignores.ts +27 -1
- package/src/adapters/trail.ts +94 -0
- package/src/cli/capabilities.ts +6 -6
- package/src/cli/doctor.ts +8 -8
- package/src/cli/main.ts +14 -14
- package/src/cli/new.ts +5 -5
- package/src/cli/wizard.ts +7 -3
- package/src/config/defaults.ts +1 -1
- package/src/config/schema.ts +2 -2
- package/src/config/validation.ts +17 -3
- package/src/detect/index.ts +15 -2
- package/src/index.ts +1 -1
- package/src/registry/catalog.ts +15 -10
- package/src/registry/index.ts +4 -4
- package/src/registry/setup.ts +4 -4
- package/src/registry/types.ts +4 -2
- package/dist/adapters/graft.d.ts +0 -15
- package/dist/adapters/graft.js +0 -58
- package/dist/adapters/graft.js.map +0 -1
- package/src/adapters/graft.ts +0 -82
package/dist/registry/catalog.js
CHANGED
|
@@ -61,29 +61,30 @@ const uiDriverName = (ctx) => ctx.has('agent-device') ? 'agent-device' : ctx.has
|
|
|
61
61
|
export const CATALOG = [
|
|
62
62
|
// ── Codebase graph ────────────────────────────────────────────────────────
|
|
63
63
|
{
|
|
64
|
-
id: '
|
|
65
|
-
name: '
|
|
66
|
-
description: 'Codebase
|
|
64
|
+
id: 'trail',
|
|
65
|
+
name: 'Trail',
|
|
66
|
+
description: 'Codebase graph and team learnings (trail ask / skeleton / callers). ' +
|
|
67
|
+
'Sends anonymous usage stats: opt out with `trail telemetry disable` or DO_NOT_TRACK=1',
|
|
67
68
|
category: 'codebase-graph',
|
|
68
|
-
author: '
|
|
69
|
+
author: 'Trail (formerly Graft, by NanoNets)',
|
|
69
70
|
repoUrl: 'https://github.com/trailhq/Trail-Code',
|
|
70
71
|
license: 'MIT',
|
|
71
72
|
supportedPlatforms: ['all'],
|
|
72
73
|
requiresNodeInProjectRoot: false,
|
|
73
74
|
default: true,
|
|
74
75
|
install: [
|
|
75
|
-
{ kind: 'binary', bin: '
|
|
76
|
-
{ kind: 'setup', setup: '
|
|
76
|
+
{ kind: 'binary', bin: 'trail', install: 'npm install -g @trailhq/trail-code' },
|
|
77
|
+
{ kind: 'setup', setup: 'trail' }
|
|
77
78
|
],
|
|
78
|
-
doctor: [{ kind: 'file', path: '
|
|
79
|
+
doctor: [{ kind: 'file', path: '.trail/cache/INDEX.md', fix: 'trail build' }],
|
|
79
80
|
routing: {
|
|
80
81
|
task: 'Codebase exploration & impact analysis',
|
|
81
|
-
read: '`
|
|
82
|
+
read: '`trail ask "<query>" --source` / `trail skeleton <file>` (see the Trail section)'
|
|
82
83
|
},
|
|
83
84
|
rebuttals: [
|
|
84
85
|
{
|
|
85
86
|
excuse: "I'll grep/read the whole folder to understand the module.",
|
|
86
|
-
rule: 'Forbidden. Query `
|
|
87
|
+
rule: 'Forbidden. Query `trail ask "<query>" --source` or `trail callers <symbol>` first to save context tokens.'
|
|
87
88
|
}
|
|
88
89
|
]
|
|
89
90
|
},
|
|
@@ -420,7 +421,10 @@ export const CATALOG = [
|
|
|
420
421
|
`## Unit & integration tests: ${ctx.stack} toolchain`,
|
|
421
422
|
`- Run: ${code(ctx.commands.test, 'the project test command')}`,
|
|
422
423
|
ctx.commands.lint ? `- Static checks: \`${ctx.commands.lint}\`` : undefined,
|
|
423
|
-
'- Write the failing test first, then the code.
|
|
424
|
+
'- Write the failing test first, then the code. ' +
|
|
425
|
+
(ctx.testDir
|
|
426
|
+
? `Put tests in \`${ctx.testDir}/\`, mirroring the module they cover.`
|
|
427
|
+
: 'Place tests where the toolchain convention puts them.')
|
|
424
428
|
]
|
|
425
429
|
.filter((line) => line !== undefined)
|
|
426
430
|
.join('\n')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/registry/catalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/registry/catalog.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,cAAc;IACd,UAAU;IACV,aAAa;IACb,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,WAAW;IACX,gBAAgB;IAChB,+BAA+B;IAC/B,IAAI;IACJ,WAAW;IACX,UAAU;IACV,OAAO;IACP,0BAA0B;IAC1B,KAAK;IACL,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,eAAe;IACf,UAAU;IACV,UAAU;IACV,SAAS;IACT,OAAO;IACP,kBAAkB;IAClB,WAAW;IACX,oBAAoB;CACZ,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,eAAe;IACf,6BAA6B;IAC7B,iBAAiB;IACjB,gCAAgC;IAChC,uBAAuB;IACvB,wBAAwB;IACxB,6BAA6B;IAC7B,sBAAsB;IACtB,yBAAyB;IACzB,qBAAqB;IACrB,mBAAmB;IACnB,gCAAgC;IAChC,eAAe;IACf,gBAAgB;CACR,CAAC;AAEX,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,CAAU,CAAC;AACpE,MAAM,gBAAgB,GAAG,CAAC,eAAe,EAAE,WAAW,CAAU,CAAC;AAEjE,MAAM,IAAI,GAAG,CAAC,OAA2B,EAAE,QAAgB,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,IAAI,QAAQ,CAAC,GAAG,GAAG,CAAC;AAClG,MAAM,QAAQ,GAAG,CAAC,GAAiB,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,eAAe,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC;AACzG,MAAM,YAAY,GAAG,CAAC,GAAiB,EAAE,EAAE,CACzC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;AAE/F,MAAM,CAAC,MAAM,OAAO,GAA2B;IAC7C,6EAA6E;IAC7E;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,WAAW,EACT,sEAAsE;YACtE,uFAAuF;QACzF,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,qCAAqC;QAC7C,OAAO,EAAE,uCAAuC;QAChD,OAAO,EAAE,KAAK;QACd,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC3B,yBAAyB,EAAE,KAAK;QAChC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,oCAAoC,EAAE;YAC/E,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SAClC;QACD,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;QAC7E,OAAO,EAAE;YACP,IAAI,EAAE,wCAAwC;YAC9C,IAAI,EAAE,kFAAkF;SACzF;QACD,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,2DAA2D;gBACnE,IAAI,EAAE,2GAA2G;aAClH;SACF;KACF;IAED,6EAA6E;IAC7E;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,uFAAuF;QACpG,QAAQ,EAAE,aAAa;QACvB,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,sCAAsC;QAC/C,OAAO,EAAE,KAAK;QACd,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC3B,yBAAyB,EAAE,KAAK;QAChC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAC,GAAG,kBAAkB,CAAC,EAAE,CAAC;QAC5F,KAAK,EAAE;YACL,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE,GAAG,EAAE,CACX;gBACE,oCAAoC;gBACpC,+EAA+E;gBAC/E,EAAE;gBACF,oBAAoB;gBACpB,eAAe;gBACf,iEAAiE;gBACjE,oFAAoF;gBACpF,+DAA+D;gBAC/D,yCAAyC;gBACzC,6DAA6D;aAC9D,CAAC,IAAI,CAAC,IAAI,CAAC;SACf;KACF;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,oFAAoF;QACjG,QAAQ,EAAE,aAAa;QACvB,MAAM,EAAE,sBAAsB;QAC9B,OAAO,EAAE,qCAAqC;QAC9C,OAAO,EAAE,KAAK;QACd,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC3B,yBAAyB,EAAE,KAAK;QAChC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,GAAG,kBAAkB,CAAC,EAAE,CAAC;QAC3F,KAAK,EAAE;YACL,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE,GAAG,EAAE,CACX;gBACE,6BAA6B;gBAC7B,4EAA4E;gBAC5E,EAAE;gBACF,oBAAoB;gBACpB,eAAe;gBACf,sCAAsC;gBACtC,mDAAmD;gBACnD,wHAAwH;gBACxH,oCAAoC;gBACpC,2IAA2I;aAC5I,CAAC,IAAI,CAAC,IAAI,CAAC;SACf;KACF;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,yFAAyF;QACtG,QAAQ,EAAE,aAAa;QACvB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE,KAAK;QACd,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC3B,yBAAyB,EAAE,KAAK;QAChC,OAAO,EAAE,EAAE;QACX,KAAK,EAAE;YACL,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE,GAAG,EAAE,CACX;gBACE,yBAAyB;gBACzB,+FAA+F;gBAC/F,0CAA0C;aAC3C,CAAC,IAAI,CAAC,IAAI,CAAC;SACf;KACF;IAED,6EAA6E;IAC7E;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,iDAAiD;QAC9D,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,iBAAiB;QACzB,OAAO,EAAE,4CAA4C;QACrD,OAAO,EAAE,KAAK;QACd,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC3B,yBAAyB,EAAE,KAAK;QAChC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QACvF,OAAO,EAAE,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,kBAAkB,EAAE;KAC/E;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,gFAAgF;QAC7F,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,8BAA8B;QACtC,OAAO,EAAE,sDAAsD;QAC/D,OAAO,EAAE,4BAA4B;QACrC,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC3B,yBAAyB,EAAE,KAAK;QAChC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,mCAAmC;gBACzC,MAAM,EAAE,CAAC,qBAAqB,CAAC;aAChC;SACF;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,4CAA4C;QACzD,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,oBAAoB;QAC5B,OAAO,EAAE,qCAAqC;QAC9C,OAAO,EAAE,KAAK;QACd,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC3B,yBAAyB,EAAE,KAAK;QAChC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;QACjF,OAAO,EAAE,EAAE,IAAI,EAAE,sCAAsC,EAAE,IAAI,EAAE,mBAAmB,EAAE;KACrF;IAED,6EAA6E;IAC7E;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,iFAAiF;QAC9F,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,uCAAuC;QAChD,OAAO,EAAE,YAAY;QACrB,kBAAkB,EAAE,CAAC,GAAG,YAAY,CAAC;QACrC,yBAAyB,EAAE,KAAK;QAChC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;QACpF,OAAO,EAAE;YACP,IAAI,EAAE,uCAAuC;YAC7C,IAAI,EAAE,2CAA2C;SAClD;QACD,KAAK,EAAE;YACL,GAAG,EAAE,iBAAiB;YACtB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;gBACd,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO;oBACL,kCAAkC;oBAClC,8FAA8F;oBAC9F,aAAa,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,+EAA+E,CAAC,CAAC,CAAC,EAAE,GAAG;oBACpH,mFAAmF;oBACnF,+GAA+G;oBAC/G,MAAM;wBACJ,CAAC,CAAC,qFAAqF,MAAM,gBAAgB;wBAC7G,CAAC,CAAC,gEAAgE;oBACpE,QAAQ,CAAC,GAAG,CAAC;wBACX,CAAC,CAAC,qHAAqH;wBACvH,CAAC,CAAC,SAAS;iBACd;qBACE,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;qBACpD,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;SACF;KACF;IAED,6EAA6E;IAC7E;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,qEAAqE;QAClF,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,8CAA8C;QACvD,OAAO,EAAE,YAAY;QACrB,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC3B,yBAAyB,EAAE,KAAK;QAChC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,2BAA2B,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE;YACnF,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,iDAAiD,EAAE;YACpG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;SAC1C;QACD,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,0DAA0D;gBAClE,IAAI,EAAE,kIAAkI;aACzI;SACF;QACD,KAAK,EAAE;YACL,GAAG,EAAE,iBAAiB;YACtB,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CACd;gBACE,4BAA4B;gBAC5B,kBAAkB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC,UAAU;gBACrE,SAAS;gBACT,2DAA2D;gBAC3D,8EAA8E;gBAC9E,6EAA6E;gBAC7E,2CAA2C;gBAC3C,mEAAmE;gBACnE,iEAAiE;gBACjE,iCAAiC;gBACjC,qBAAqB;gBACrB,KAAK;gBACL,yFAAyF;aAC1F,CAAC,IAAI,CAAC,IAAI,CAAC;SACf;KACF;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,gFAAgF;QAC7F,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,2CAA2C;QACpD,OAAO,EAAE,KAAK;QACd,kBAAkB,EAAE,CAAC,GAAG,gBAAgB,CAAC;QACzC,yBAAyB,EAAE,KAAK;QAChC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,wBAAwB,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,EAAE;YAC/E,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,oCAAoC,EAAE;SACvF;QACD,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,0DAA0D;gBAClE,IAAI,EAAE,wHAAwH;aAC/H;SACF;QACD,KAAK,EAAE;YACL,GAAG,EAAE,iBAAiB;YACtB,MAAM,EAAE,GAAG,EAAE,CACX;gBACE,8BAA8B;gBAC9B,qGAAqG;gBACrG,SAAS;gBACT,mFAAmF;gBACnF,2EAA2E;gBAC3E,2EAA2E;gBAC3E,sCAAsC;gBACtC,sCAAsC;gBACtC,oBAAoB;gBACpB,KAAK;gBACL,+GAA+G;aAChH,CAAC,IAAI,CAAC,IAAI,CAAC;SACf;KACF;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,wEAAwE;QACrF,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,6BAA6B;QACrC,OAAO,EAAE,uDAAuD;QAChE,OAAO,EAAE,YAAY;QACrB,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC3B,yBAAyB,EAAE,KAAK;QAChC,KAAK,EAAE,IAAI;QACX,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,oCAAoC,EAAE,MAAM,EAAE,CAAC,iBAAiB,CAAC,EAAE;SAC/F;QACD,KAAK,EAAE;YACL,GAAG,EAAE,iBAAiB;YACtB,MAAM,EAAE,GAAG,EAAE,CACX;gBACE,wCAAwC;gBACxC,qGAAqG;gBACrG,mHAAmH;aACpH,CAAC,IAAI,CAAC,IAAI,CAAC;SACf;KACF;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,8DAA8D;QAC3E,QAAQ,EAAE,WAAW;QACrB,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,yCAAyC;QAClD,OAAO,EAAE,KAAK;QACd,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC3B,yBAAyB,EAAE,KAAK;QAChC,KAAK,EAAE,IAAI;QACX,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE;YAC9E;gBACE,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,KAAK;gBACV,OAAO,EACL,qHAAqH;aACxH;SACF;QACD,KAAK,EAAE;YACL,GAAG,EAAE,iBAAiB;YACtB,MAAM,EAAE,GAAG,EAAE,CACX;gBACE,sCAAsC;gBACtC,0GAA0G;gBAC1G,oFAAoF;aACrF,CAAC,IAAI,CAAC,IAAI,CAAC;SACf;KACF;IAED,6EAA6E;IAC7E;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,sCAAsC;QAC/C,OAAO,EAAE,KAAK;QACd,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC;QAC1D,yBAAyB,EAAE,IAAI;QAC/B,OAAO,EAAE,EAAE;QACX,KAAK,EAAE;YACL,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CACd;gBACE,uBAAuB;gBACvB,UAAU,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE;gBAC1E,6EAA6E;gBAC7E,sGAAsG;aACvG,CAAC,IAAI,CAAC,IAAI,CAAC;SACf;KACF;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,yGAAyG;QACtH,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE,KAAK;QACd,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC3B,yBAAyB,EAAE,KAAK;QAChC,OAAO,EAAE,EAAE;QACX,KAAK,EAAE;YACL,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CACd;gBACE,gCAAgC,GAAG,CAAC,KAAK,YAAY;gBACrD,UAAU,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC,EAAE;gBAC/D,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS;gBAC3E,iDAAiD;oBAC/C,CAAC,GAAG,CAAC,OAAO;wBACV,CAAC,CAAC,kBAAkB,GAAG,CAAC,OAAO,uCAAuC;wBACtE,CAAC,CAAC,uDAAuD,CAAC;aAC/D;iBACE,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;iBACpD,IAAI,CAAC,IAAI,CAAC;SAChB;KACF;IAED;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,wCAAwC;QACrD,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,uBAAuB;QAC/B,OAAO,EAAE,yCAAyC;QAClD,OAAO,EAAE,YAAY;QACrB,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC3B,yBAAyB,EAAE,IAAI;QAC/B,OAAO,EAAE,EAAE;QACX,KAAK,EAAE;YACL,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CACd;gBACE,4BAA4B;gBAC5B,UAAU,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC,2DAA2D;gBAC9G,yFAAyF;aAC1F,CAAC,IAAI,CAAC,IAAI,CAAC;SACf;KACF;IACD;QACE,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,KAAK;QACX,WAAW,EAAE,yFAAyF;QACtG,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,oCAAoC;QAC7C,OAAO,EAAE,YAAY;QACrB,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC3B,yBAAyB,EAAE,KAAK;QAChC,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC/E,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;SAChC;QACD,SAAS,EAAE;YACT;gBACE,MAAM,EAAE,wCAAwC;gBAChD,IAAI,EAAE,iHAAiH;aACxH;SACF;QACD,KAAK,EAAE;YACL,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;gBACd,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;gBACvB,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC;gBAC5D,OAAO;oBACL,yBAAyB;oBACzB,GAAG;wBACD,CAAC,CAAC,4EAA4E,GAAG,gDAAgD;wBACjI,CAAC,CAAC,qFAAqF;oBACzF,qBAAqB,MAAM,eAAe;oBAC1C,YAAY,MAAM,yBAAyB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,oDAAoD,CAAC,CAAC,CAAC,wBAAwB,GAAG;oBAC7I,uDAAuD,IAAI,8FAA8F;oBACzJ,kHAAkH;oBAClH,uHAAuH;oBACvH,sCAAsC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,2DAA2D;iBACtH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;SACF;KACF;IACD,6EAA6E;IAC7E;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,qFAAqF;QAClG,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,wBAAwB;QAChC,OAAO,EAAE,wCAAwC;QACjD,OAAO,EAAE,gCAAgC;QACzC,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC3B,yBAAyB,EAAE,KAAK;QAChC,KAAK,EAAE,IAAI;QACX,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,EAAE;YAC5E,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,6BAA6B,EAAE;SAChF;QACD,KAAK,EAAE;YACL,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE,GAAG,EAAE,CACX;gBACE,gCAAgC;gBAChC,8FAA8F;gBAC9F,6GAA6G;aAC9G,CAAC,IAAI,CAAC,IAAI,CAAC;SACf;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,6BAA6B;QACrC,OAAO,EAAE,wCAAwC;QACjD,OAAO,EAAE,mBAAmB;QAC5B,kBAAkB,EAAE,CAAC,KAAK,CAAC;QAC3B,yBAAyB,EAAE,KAAK;QAChC,KAAK,EAAE,IAAI;QACX,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,EAAE;YACzE;gBACE,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,IAAI;gBACT,OAAO,EAAE,gFAAgF;aAC1F;SACF;QACD,KAAK,EAAE;YACL,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE,GAAG,EAAE,CACX;gBACE,+BAA+B;gBAC/B,sGAAsG;gBACtG,sBAAsB;aACvB,CAAC,IAAI,CAAC,IAAI,CAAC;SACf;KACF;CACF,CAAC"}
|
package/dist/registry/index.d.ts
CHANGED
|
@@ -59,7 +59,7 @@ export declare function resolveCapabilities(input: ResolveInput, disabled?: stri
|
|
|
59
59
|
export declare function sourcesFor(capabilities: CapabilityDescriptor[]): SkillSourceConfig[];
|
|
60
60
|
/**
|
|
61
61
|
* Capabilities a config written before v2 (no `capabilities` field) uses:
|
|
62
|
-
* the ones whose skills it installs, plus
|
|
62
|
+
* the ones whose skills it installs, plus Trail and its test harness.
|
|
63
63
|
*/
|
|
64
64
|
export declare function inferCapabilities(config: AginitConfig): string[];
|
|
65
65
|
/** The capabilities a project config turns on. */
|
package/dist/registry/index.js
CHANGED
|
@@ -193,12 +193,12 @@ function mergeSources(sources, capabilities) {
|
|
|
193
193
|
}
|
|
194
194
|
/**
|
|
195
195
|
* Capabilities a config written before v2 (no `capabilities` field) uses:
|
|
196
|
-
* the ones whose skills it installs, plus
|
|
196
|
+
* the ones whose skills it installs, plus Trail and its test harness.
|
|
197
197
|
*/
|
|
198
198
|
export function inferCapabilities(config) {
|
|
199
199
|
const ids = [];
|
|
200
|
-
if (config.codebase.
|
|
201
|
-
ids.push('
|
|
200
|
+
if (config.codebase.trail)
|
|
201
|
+
ids.push('trail');
|
|
202
202
|
for (const capability of CATALOG) {
|
|
203
203
|
const steps = skillSteps(capability);
|
|
204
204
|
if (steps.length > 0 &&
|
|
@@ -225,7 +225,7 @@ export function activeCapabilities(config) {
|
|
|
225
225
|
.filter((c) => c !== undefined)
|
|
226
226
|
.filter((capability) => {
|
|
227
227
|
// The legacy switches still turn their capability off.
|
|
228
|
-
if (capability.id === '
|
|
228
|
+
if (capability.id === 'trail' && config.codebase.trail === false)
|
|
229
229
|
return false;
|
|
230
230
|
if (capability.id === 'playwright' && !config.browser.playwright)
|
|
231
231
|
return false;
|
|
@@ -240,7 +240,7 @@ export function activeIds(config) {
|
|
|
240
240
|
}
|
|
241
241
|
/** Keep the pre-v2 switches in step with the capability list. */
|
|
242
242
|
function mirrorLegacySwitches(config, ids) {
|
|
243
|
-
config.codebase = { ...config.codebase,
|
|
243
|
+
config.codebase = { ...config.codebase, trail: ids.includes('trail') };
|
|
244
244
|
config.browser = {
|
|
245
245
|
...config.browser,
|
|
246
246
|
visualAgent: ids.includes('agent-browser'),
|
package/dist/registry/setup.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { initTrail } from '../adapters/trail.js';
|
|
2
2
|
import { setupAgentBrowser } from '../adapters/agent-browser.js';
|
|
3
3
|
import { setupE2e } from '../adapters/e2e.js';
|
|
4
4
|
import { claudeCodeEnabled } from '../adapters/skills.js';
|
|
5
5
|
/** Upstream setup commands, keyed by the `setup` install step that names them. */
|
|
6
6
|
export const SETUPS = {
|
|
7
|
-
|
|
7
|
+
trail: (ctx) => initTrail(ctx.targetDir, {
|
|
8
8
|
dryRun: ctx.dryRun,
|
|
9
9
|
silent: ctx.silent,
|
|
10
10
|
claude: claudeCodeEnabled(ctx.config)
|
|
@@ -18,7 +18,7 @@ export const SETUPS = {
|
|
|
18
18
|
})
|
|
19
19
|
};
|
|
20
20
|
export const SETUP_LABELS = {
|
|
21
|
-
|
|
21
|
+
trail: 'Configuring codebase intelligence (Trail)',
|
|
22
22
|
'agent-browser': 'Provisioning agent-browser runtime',
|
|
23
23
|
e2e: 'Scaffolding e2e tests'
|
|
24
24
|
};
|
package/dist/registry/types.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export type InstallStep =
|
|
|
30
30
|
* Setups that run an upstream init command. vitest and playwright have none:
|
|
31
31
|
* the presets add them to package.json when they are active.
|
|
32
32
|
*/
|
|
33
|
-
export type SetupId = '
|
|
33
|
+
export type SetupId = 'trail' | 'agent-browser' | 'e2e';
|
|
34
34
|
export type DoctorCheck = {
|
|
35
35
|
kind: 'file';
|
|
36
36
|
path: string;
|
|
@@ -51,6 +51,8 @@ export interface GuideContext {
|
|
|
51
51
|
commands: ProjectCommands;
|
|
52
52
|
/** Directory that holds the e2e workspace ('' for the project root). */
|
|
53
53
|
e2eDir: string;
|
|
54
|
+
/** The project's top-level test directory (tests/ or test/), when it has one. */
|
|
55
|
+
testDir?: string;
|
|
54
56
|
}
|
|
55
57
|
export interface ProjectCommands {
|
|
56
58
|
build?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/registry/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,eAAe,GAAG,WAAW,GAAG,SAAS,GAAG,KAAK,CAAC;AACjF,MAAM,MAAM,KAAK,GACb,MAAM,GACN,cAAc,GACd,SAAS,GACT,OAAO,GACP,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,IAAI,GACJ,SAAS,CAAC;AAEd,MAAM,MAAM,kBAAkB,GAC1B,aAAa,GACb,YAAY,GACZ,QAAQ,GACR,gBAAgB,GAChB,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,QAAQ,CAAC;AAEb,0DAA0D;AAC1D,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,iBAAiB,GAAG,WAAW,CAAC;AAEnE,MAAM,MAAM,WAAW;AACrB;;;;GAIG;AACD;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE;AAC3E,oGAAoG;GAClG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAClD,kEAAkE;GAChE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtC;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,eAAe,GAAG,KAAK,CAAC;AAExD,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE,4DAA4D;AAC5D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,sCAAsC;IACtC,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,kFAAkF;IAClF,QAAQ,EAAE,eAAe,CAAC;IAC1B,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/registry/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antomanc/aginit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Set up a new or existing project for AI coding agents in one command: AGENTS.md, Matt Pocock skills, Graft codebase graph, Vitest/Playwright. Orchestrates upstream tools, idempotent.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -39,6 +39,7 @@ export function projectProfile(
|
|
|
39
39
|
options: { targetDir?: string; scripts?: Record<string, string> } = {}
|
|
40
40
|
): ProjectProfile {
|
|
41
41
|
const { platform, stack } = resolvePlatformStack(config, options.targetDir);
|
|
42
|
+
const targetDir = options.targetDir ?? '.';
|
|
42
43
|
const active = activeCapabilities(config);
|
|
43
44
|
const ids = new Set(active.map((c) => c.id));
|
|
44
45
|
return {
|
|
@@ -46,11 +47,12 @@ export function projectProfile(
|
|
|
46
47
|
stack,
|
|
47
48
|
active,
|
|
48
49
|
has: (id) => ids.has(id),
|
|
49
|
-
commands: projectCommands(
|
|
50
|
+
commands: projectCommands(targetDir, stack, {
|
|
50
51
|
packageManager: config.packageManager,
|
|
51
52
|
scripts: options.scripts
|
|
52
53
|
}),
|
|
53
|
-
e2eDir: e2eDirFor(stack)
|
|
54
|
+
e2eDir: e2eDirFor(stack),
|
|
55
|
+
testDir: ['tests', 'test'].find((dir) => fs.statSync(path.join(targetDir, dir), { throwIfNoEntry: false })?.isDirectory())
|
|
54
56
|
};
|
|
55
57
|
}
|
|
56
58
|
|
|
@@ -32,8 +32,14 @@ const BOOTSTRAP_SECTION = [
|
|
|
32
32
|
'When the user asks to "bootstrap this project" or kicks off a new initiative:',
|
|
33
33
|
'1. Understand product intent and ask 2-3 essential questions to resolve ambiguity.',
|
|
34
34
|
'2. Draft or refine canonical context in `PRODUCT.md` and `DESIGN.md` (or `docs/adr/`).',
|
|
35
|
-
'3. Plan in small verifiable increments and implement test-first using installed skills.'
|
|
35
|
+
'3. Plan in small verifiable increments and implement test-first using installed skills.',
|
|
36
|
+
''
|
|
36
37
|
];
|
|
38
|
+
/** Older releases appended the section after the managed block; it now lives inside. */
|
|
39
|
+
const LEGACY_BOOTSTRAP = new RegExp(
|
|
40
|
+
'\\n*' + BOOTSTRAP_SECTION.join('\n').trim().replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + '\\n*',
|
|
41
|
+
'g'
|
|
42
|
+
);
|
|
37
43
|
|
|
38
44
|
/** Placeholder scripts used when AGENTS.md is rendered without a package.json to read. */
|
|
39
45
|
function presetScripts(config: AginitConfig): Record<string, string> {
|
|
@@ -55,12 +61,14 @@ const table = (head: [string, string], rows: Array<[string, string]>) => [
|
|
|
55
61
|
export function renderAgentsBlock(
|
|
56
62
|
config: AginitConfig,
|
|
57
63
|
profile: ProjectProfile,
|
|
58
|
-
|
|
64
|
+
options: { docs?: MicroDoc[]; targetDir?: string } = {}
|
|
59
65
|
): string {
|
|
66
|
+
const { docs = plannedMicroDocs(profile), targetDir } = options;
|
|
60
67
|
const hasSkills = config.skills.sources.length > 0;
|
|
61
|
-
const routing: Array<[string, string]> = [
|
|
62
|
-
|
|
63
|
-
|
|
68
|
+
const routing: Array<[string, string]> = [];
|
|
69
|
+
// Only route to PRODUCT.md when it exists or a design capability will write it.
|
|
70
|
+
if ((targetDir && fileExists(path.join(targetDir, 'PRODUCT.md'))) || profile.active.some((c) => c.category === 'design'))
|
|
71
|
+
routing.push(['Product intent, scope, target users', '`PRODUCT.md`']);
|
|
64
72
|
const order = ['design', 'codebase-graph'];
|
|
65
73
|
const rank = (c: CapabilityDescriptor) => (order.indexOf(c.category) + order.length + 1) % (order.length + 1);
|
|
66
74
|
const direct = profile.active.filter((c) => c.routing).sort((a, b) => rank(a) - rank(b));
|
|
@@ -89,6 +97,7 @@ export function renderAgentsBlock(
|
|
|
89
97
|
|
|
90
98
|
const lines = [
|
|
91
99
|
AGINIT_BLOCK_START,
|
|
100
|
+
...BOOTSTRAP_SECTION,
|
|
92
101
|
...(profile.has('karpathy-guidelines')
|
|
93
102
|
? [
|
|
94
103
|
'## Guardrails (karpathy-guidelines)',
|
|
@@ -157,9 +166,7 @@ export function generateAgentsMarkdown(
|
|
|
157
166
|
'## Essential Commands',
|
|
158
167
|
...(commandLines.length ? commandLines : ['- Add the build and test commands here once they exist.']),
|
|
159
168
|
'',
|
|
160
|
-
renderAgentsBlock(config, profile),
|
|
161
|
-
'',
|
|
162
|
-
...BOOTSTRAP_SECTION,
|
|
169
|
+
renderAgentsBlock(config, profile, { targetDir }),
|
|
163
170
|
''
|
|
164
171
|
];
|
|
165
172
|
return sections.join('\n').replace(/\n{3,}/g, '\n\n').trim() + '\n';
|
|
@@ -176,11 +183,11 @@ export function mergeAgentsBlock(existing: string, block: string): string {
|
|
|
176
183
|
return existing.slice(0, startMatch.index) + block + existing.slice(endOffset);
|
|
177
184
|
}
|
|
178
185
|
}
|
|
179
|
-
// Above
|
|
180
|
-
const
|
|
181
|
-
if (
|
|
182
|
-
const
|
|
183
|
-
return existing.slice(0,
|
|
186
|
+
// Above Trail's block (graft's before it) when there is one, so Trail keeps owning the end of the file.
|
|
187
|
+
const trailMatch = existing.match(/<!--\s*(?:trail|graft):start(?:\b[^>]*)?-->/);
|
|
188
|
+
if (trailMatch && trailMatch.index !== undefined) {
|
|
189
|
+
const trail = trailMatch.index;
|
|
190
|
+
return existing.slice(0, trail).trimEnd() + '\n\n' + block + '\n\n' + existing.slice(trail);
|
|
184
191
|
}
|
|
185
192
|
return existing.trimEnd() + '\n\n' + block + '\n';
|
|
186
193
|
}
|
|
@@ -197,9 +204,9 @@ export function setupAgentsMarkdown(
|
|
|
197
204
|
const existing = readTextFile(filePath) || '';
|
|
198
205
|
const scripts = readPackageManifest(targetDir)?.scripts;
|
|
199
206
|
const profile = projectProfile(config, { targetDir, scripts });
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
207
|
+
const legacyFree = existing.replace(LEGACY_BOOTSTRAP, '\n\n').replace(/\n+$/, '\n');
|
|
208
|
+
const block = renderAgentsBlock(config, profile, { docs: options.docs, targetDir });
|
|
209
|
+
const updated = mergeAgentsBlock(legacyFree, block);
|
|
203
210
|
if (updated === existing) {
|
|
204
211
|
if (!silent) logger.dim('AGENTS.md is up to date, preserving content.');
|
|
205
212
|
return true;
|
package/src/adapters/git.ts
CHANGED
|
@@ -30,11 +30,6 @@ coverage/
|
|
|
30
30
|
test-results/
|
|
31
31
|
playwright-report/
|
|
32
32
|
blob-report/
|
|
33
|
-
|
|
34
|
-
# Codebase intelligence cache (graft builds locally, git-ignored)
|
|
35
|
-
/graft/
|
|
36
|
-
# ripgrep hint graft writes next to that cache; regenerated by \`graft build\`
|
|
37
|
-
.ignore
|
|
38
33
|
`;
|
|
39
34
|
|
|
40
35
|
export async function setupGit(
|
|
@@ -77,7 +72,6 @@ export async function setupGit(
|
|
|
77
72
|
|
|
78
73
|
const essentialRules = [
|
|
79
74
|
'node_modules/',
|
|
80
|
-
'/graft/',
|
|
81
75
|
'.DS_Store',
|
|
82
76
|
'dist/',
|
|
83
77
|
'.env',
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
import { fileExists, readTextFile, safeWriteFile } from '../utils/fs.js';
|
|
3
3
|
import { readPackageManifest } from '../config/validation.js';
|
|
4
|
+
import { ruffConfigFile } from '../detect/index.js';
|
|
4
5
|
|
|
5
6
|
// Vendored skill sources ship third-party JS and Markdown that the project's own
|
|
6
7
|
// linters and formatters must not check. No ignore convention is shared across tools,
|
|
@@ -8,6 +9,7 @@ import { readPackageManifest } from '../config/validation.js';
|
|
|
8
9
|
const VENDORED_DIRS = ['.agents', '.claude'];
|
|
9
10
|
|
|
10
11
|
interface Project {
|
|
12
|
+
dir: string;
|
|
11
13
|
manifest: Record<string, any> | null;
|
|
12
14
|
has(dependency: string): boolean;
|
|
13
15
|
exists(file: string): boolean;
|
|
@@ -117,11 +119,35 @@ const biome: ToolIgnore = {
|
|
|
117
119
|
`add ${dirs.map((dir) => `"!!**/${dir}"`).join(', ')} to files.includes in ${file}`
|
|
118
120
|
};
|
|
119
121
|
|
|
120
|
-
|
|
122
|
+
/** Ruff: extend-exclude at the top of ruff.toml, or under an existing [tool.ruff] table. */
|
|
123
|
+
const ruff: ToolIgnore = {
|
|
124
|
+
file: (project) => ruffConfigFile(project.dir),
|
|
125
|
+
missing: (text) =>
|
|
126
|
+
VENDORED_DIRS.filter((dir) => !text.includes(`"${dir}"`) && !text.includes(`'${dir}'`)),
|
|
127
|
+
patch: (text, dirs) => {
|
|
128
|
+
let start = 0;
|
|
129
|
+
if (/^\[tool\.ruff[.\]]/m.test(text)) {
|
|
130
|
+
const header = /^\[tool\.ruff\][ \t]*(#.*)?\r?\n/m.exec(text);
|
|
131
|
+
if (!header) return null;
|
|
132
|
+
start = header.index + header[0].length;
|
|
133
|
+
}
|
|
134
|
+
const next = text.slice(start).search(/^\[/m);
|
|
135
|
+
const table = text.slice(start, next === -1 ? undefined : start + next);
|
|
136
|
+
if (/^\s*extend-exclude\s*=/m.test(table)) return null;
|
|
137
|
+
const line = `extend-exclude = [${dirs.map((dir) => `"${dir}"`).join(', ')}] # vendored agent skills (aginit)\n`;
|
|
138
|
+
return text.slice(0, start) + line + text.slice(start);
|
|
139
|
+
},
|
|
140
|
+
advice: (file, dirs) =>
|
|
141
|
+
`add extend-exclude = [${dirs.map((dir) => `"${dir}"`).join(', ')}] to ` +
|
|
142
|
+
(file === 'pyproject.toml' ? '[tool.ruff] in pyproject.toml' : file)
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
const TOOLS = [prettier, eslintIgnore, eslintFlat, biome, ruff];
|
|
121
146
|
|
|
122
147
|
function pendingIgnores(targetDir: string) {
|
|
123
148
|
const manifest = readPackageManifest(targetDir);
|
|
124
149
|
const project: Project = {
|
|
150
|
+
dir: targetDir,
|
|
125
151
|
manifest,
|
|
126
152
|
has: (name) => Boolean(manifest?.dependencies?.[name] || manifest?.devDependencies?.[name]),
|
|
127
153
|
exists: (file) => fileExists(path.join(targetDir, file))
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import fs from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { fileExists, readTextFile, safeWriteFile } from '../utils/fs.js';
|
|
4
|
+
import { commandExists, runExecutable } from '../utils/shell.js';
|
|
5
|
+
import { logger } from '../utils/logger.js';
|
|
6
|
+
|
|
7
|
+
// The ripgrep hint graft wrote at the repo root; trail keeps its graph in .trail/cache.
|
|
8
|
+
const GRAFT_RIPGREP_HINT =
|
|
9
|
+
"# graft's cards are gitignored but should stay greppable: ripgrep reads\n" +
|
|
10
|
+
'# .ignore before .gitignore, so this re-admits the tree to search only.\n' +
|
|
11
|
+
'!graft/\ngraft/.cache/\ngraft/.graph/\n';
|
|
12
|
+
|
|
13
|
+
export async function isTrailInstalled(): Promise<boolean> {
|
|
14
|
+
return await commandExists('trail');
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export async function initTrail(
|
|
18
|
+
targetDir: string,
|
|
19
|
+
options: { dryRun?: boolean; silent?: boolean; claude?: boolean } = {}
|
|
20
|
+
): Promise<boolean> {
|
|
21
|
+
const { dryRun = false, silent = false, claude = true } = options;
|
|
22
|
+
|
|
23
|
+
const installed = dryRun || (await isTrailInstalled());
|
|
24
|
+
if (!installed) {
|
|
25
|
+
if (!silent) {
|
|
26
|
+
logger.warn(
|
|
27
|
+
'Trail CLI is not installed. Install it with `npm install -g @trailhq/trail-code`, then rerun aginit init.'
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (!silent) logger.dim('Initializing Trail context graph...');
|
|
34
|
+
|
|
35
|
+
// Wire Antigravity, AGENTS.md readers and (optionally) Claude Code's in-repo
|
|
36
|
+
// .claude/ + .trail/, without touching global system files (--no-global).
|
|
37
|
+
// trail init also migrates a repo graft wired before.
|
|
38
|
+
const agents = ['antigravity', 'agents', ...(claude ? ['claude'] : [])];
|
|
39
|
+
const res = await runExecutable(
|
|
40
|
+
'trail',
|
|
41
|
+
['init', '--no-global', '--agents', ...agents, '-y'],
|
|
42
|
+
{
|
|
43
|
+
cwd: targetDir,
|
|
44
|
+
dryRun,
|
|
45
|
+
silent: true
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
if (!res.ok) {
|
|
50
|
+
logger.warn(`Trail initialization warning: ${res.stderr || res.stdout}`);
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// trail init leaves graft's ripgrep hint behind; drop it when unedited.
|
|
55
|
+
const hint = path.join(targetDir, '.ignore');
|
|
56
|
+
if (!dryRun && readTextFile(hint) === GRAFT_RIPGREP_HINT) fs.rmSync(hint);
|
|
57
|
+
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export async function buildTrail(
|
|
62
|
+
targetDir: string,
|
|
63
|
+
options: { dryRun?: boolean; silent?: boolean } = {}
|
|
64
|
+
): Promise<boolean> {
|
|
65
|
+
const { dryRun = false } = options;
|
|
66
|
+
const installed = dryRun || (await isTrailInstalled());
|
|
67
|
+
if (!installed) return false;
|
|
68
|
+
|
|
69
|
+
const res = await runExecutable('trail', ['build'], { cwd: targetDir, dryRun, silent: true });
|
|
70
|
+
return res.ok;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export async function uninstallTrail(
|
|
74
|
+
targetDir: string,
|
|
75
|
+
options: { dryRun?: boolean; silent?: boolean } = {}
|
|
76
|
+
): Promise<boolean> {
|
|
77
|
+
const { dryRun = false } = options;
|
|
78
|
+
const installed = dryRun || (await isTrailInstalled());
|
|
79
|
+
if (installed) {
|
|
80
|
+
await runExecutable('trail', ['uninstall'], { cwd: targetDir, dryRun, silent: true });
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Also clean up AGENTS.md fenced section if any remain (graft's included)
|
|
84
|
+
const agentsPath = path.join(targetDir, 'AGENTS.md');
|
|
85
|
+
if (fileExists(agentsPath)) {
|
|
86
|
+
const content = readTextFile(agentsPath) || '';
|
|
87
|
+
const cleaned = content
|
|
88
|
+
.replace(/<!-- (trail|graft):start -->[\s\S]*?<!-- \1:end -->\n?/g, '')
|
|
89
|
+
.trim();
|
|
90
|
+
safeWriteFile(agentsPath, cleaned + '\n', { overwrite: true, dryRun });
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
return true;
|
|
94
|
+
}
|
package/src/cli/capabilities.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { AGINIT_CONFIG_FILENAME, AginitConfig } from '../config/schema.js';
|
|
|
4
4
|
import { readProjectConfig, validateConfig } from '../config/validation.js';
|
|
5
5
|
import { resolvePlatformStack } from '../adapters/agent-docs.js';
|
|
6
6
|
import { installAllSkills, removeSkills, skillAgents } from '../adapters/skills.js';
|
|
7
|
-
import {
|
|
7
|
+
import { uninstallTrail } from '../adapters/trail.js';
|
|
8
8
|
import { ignoreVendoredSkills } from '../adapters/tool-ignores.js';
|
|
9
9
|
import {
|
|
10
10
|
activeIds,
|
|
@@ -121,8 +121,8 @@ export async function changeCapabilities(
|
|
|
121
121
|
const next = validateConfig(
|
|
122
122
|
applyResolvedProfile({ ...config, platform, stack }, resolved, { skills: true, previous })
|
|
123
123
|
);
|
|
124
|
-
// Adding
|
|
125
|
-
if (next.capabilities?.includes('
|
|
124
|
+
// Adding trail or playwright turns their legacy switch back on.
|
|
125
|
+
if (next.capabilities?.includes('trail')) next.codebase.trail = true;
|
|
126
126
|
|
|
127
127
|
const after = activeIds(next);
|
|
128
128
|
const nextCatalog = catalogFor(next);
|
|
@@ -141,9 +141,9 @@ export async function changeCapabilities(
|
|
|
141
141
|
let ok = true;
|
|
142
142
|
|
|
143
143
|
ok = (await removeSkills(targetDir, skillsOf(removed), { dryRun, silent })) && ok;
|
|
144
|
-
if (removed.some((c) => c.id === '
|
|
144
|
+
if (removed.some((c) => c.id === 'trail')) await uninstallTrail(targetDir, { dryRun, silent });
|
|
145
145
|
const leftovers = removed.filter((c) =>
|
|
146
|
-
c.install.some((s) => s.kind === 'setup' && s.setup !== '
|
|
146
|
+
c.install.some((s) => s.kind === 'setup' && s.setup !== 'trail')
|
|
147
147
|
);
|
|
148
148
|
if (!silent)
|
|
149
149
|
for (const c of leftovers)
|
|
@@ -166,7 +166,7 @@ export async function changeCapabilities(
|
|
|
166
166
|
|
|
167
167
|
syncAgentDocs(targetDir, next, { dryRun, silent });
|
|
168
168
|
if (!silent)
|
|
169
|
-
for (const { name, bin, install } of await missingBinaries(added, ['
|
|
169
|
+
for (const { name, bin, install } of await missingBinaries(added, ['trail', 'agent-browser', 'e2e']))
|
|
170
170
|
logger.warn(`${name} needs the \`${bin}\` CLI: ${install}`);
|
|
171
171
|
if (!silent) {
|
|
172
172
|
if (ok) logger.success('Capabilities updated. AGENTS.md and docs/agents/ are in sync.');
|
package/src/cli/doctor.ts
CHANGED
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
getInstalledSkills,
|
|
16
16
|
getSkillsMissingForClaude
|
|
17
17
|
} from '../adapters/skills.js';
|
|
18
|
-
import { claudeMarkdownImportsAgents } from '../adapters/agents-md.js';
|
|
18
|
+
import { AGINIT_START_PATTERN, claudeMarkdownImportsAgents } from '../adapters/agents-md.js';
|
|
19
19
|
import {
|
|
20
20
|
agentBrowserStubInstalled,
|
|
21
21
|
findUsernsRestriction,
|
|
@@ -229,21 +229,21 @@ export async function runDoctor(targetDir: string = process.cwd()): Promise<void
|
|
|
229
229
|
const agentsPath = path.join(targetDir, 'AGENTS.md');
|
|
230
230
|
const agentsExists = fileExists(agentsPath);
|
|
231
231
|
const agentsContent = agentsExists ? readTextFile(agentsPath) || '' : '';
|
|
232
|
-
const
|
|
232
|
+
const hasBlock = AGINIT_START_PATTERN.test(agentsContent);
|
|
233
233
|
|
|
234
234
|
checks.push({
|
|
235
235
|
name: 'AGENTS.md Context',
|
|
236
236
|
category: 'Project Config',
|
|
237
|
-
ok: agentsExists &&
|
|
237
|
+
ok: agentsExists && hasBlock,
|
|
238
238
|
detail: agentsExists
|
|
239
|
-
?
|
|
240
|
-
? 'AGENTS.md present with
|
|
241
|
-
: 'AGENTS.md present but missing
|
|
239
|
+
? hasBlock
|
|
240
|
+
? 'AGENTS.md present with the aginit block'
|
|
241
|
+
: 'AGENTS.md present but missing the aginit block'
|
|
242
242
|
: 'AGENTS.md not found in directory',
|
|
243
243
|
suggestion: !agentsExists
|
|
244
244
|
? 'Run `aginit init` to generate standard AGENTS.md'
|
|
245
|
-
: !
|
|
246
|
-
? 'Run `aginit init` to add
|
|
245
|
+
: !hasBlock
|
|
246
|
+
? 'Run `aginit init` to add the aginit block to AGENTS.md'
|
|
247
247
|
: undefined
|
|
248
248
|
});
|
|
249
249
|
|