@rasensio/aidlc 0.6.0 → 1.1.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/README.md +113 -0
- package/dist/cli.js +13 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/discover.d.ts +6 -2
- package/dist/commands/discover.d.ts.map +1 -1
- package/dist/commands/discover.js +30 -4
- package/dist/commands/discover.js.map +1 -1
- package/dist/commands/gate.d.ts.map +1 -1
- package/dist/commands/gate.js +8 -0
- package/dist/commands/gate.js.map +1 -1
- package/dist/commands/init.d.ts +17 -11
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +280 -45
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/knowledge.d.ts +16 -0
- package/dist/commands/knowledge.d.ts.map +1 -0
- package/dist/commands/knowledge.js +454 -0
- package/dist/commands/knowledge.js.map +1 -0
- package/dist/commands/start.d.ts +2 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +31 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/transition.d.ts.map +1 -1
- package/dist/commands/transition.js +14 -1
- package/dist/commands/transition.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +9 -2
- package/dist/commands/update.js.map +1 -1
- package/dist/compile/adapters/claude-code.d.ts.map +1 -1
- package/dist/compile/adapters/claude-code.js +7 -2
- package/dist/compile/adapters/claude-code.js.map +1 -1
- package/dist/compile/adapters/codex.d.ts.map +1 -1
- package/dist/compile/adapters/codex.js +5 -0
- package/dist/compile/adapters/codex.js.map +1 -1
- package/dist/compile/adapters/cursor.d.ts.map +1 -1
- package/dist/compile/adapters/cursor.js +5 -0
- package/dist/compile/adapters/cursor.js.map +1 -1
- package/dist/compile/adapters/kiro.d.ts.map +1 -1
- package/dist/compile/adapters/kiro.js +7 -1
- package/dist/compile/adapters/kiro.js.map +1 -1
- package/dist/compile/adapters/windsurf.d.ts.map +1 -1
- package/dist/compile/adapters/windsurf.js +5 -0
- package/dist/compile/adapters/windsurf.js.map +1 -1
- package/dist/compile/knowledge-section.d.ts +19 -0
- package/dist/compile/knowledge-section.d.ts.map +1 -0
- package/dist/compile/knowledge-section.js +46 -0
- package/dist/compile/knowledge-section.js.map +1 -0
- package/dist/core/types.d.ts +3 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/discover/scanner.d.ts.map +1 -1
- package/dist/discover/scanner.js +18 -12
- package/dist/discover/scanner.js.map +1 -1
- package/dist/discover/workspaces.d.ts +24 -0
- package/dist/discover/workspaces.d.ts.map +1 -0
- package/dist/discover/workspaces.js +116 -0
- package/dist/discover/workspaces.js.map +1 -0
- package/dist/knowledge/compact.d.ts +24 -0
- package/dist/knowledge/compact.d.ts.map +1 -0
- package/dist/knowledge/compact.js +70 -0
- package/dist/knowledge/compact.js.map +1 -0
- package/dist/knowledge/context-generator.d.ts +36 -0
- package/dist/knowledge/context-generator.d.ts.map +1 -0
- package/dist/knowledge/context-generator.js +150 -0
- package/dist/knowledge/context-generator.js.map +1 -0
- package/dist/knowledge/engine.d.ts +40 -0
- package/dist/knowledge/engine.d.ts.map +1 -0
- package/dist/knowledge/engine.js +79 -0
- package/dist/knowledge/engine.js.map +1 -0
- package/dist/knowledge/gate-criterion.d.ts +36 -0
- package/dist/knowledge/gate-criterion.d.ts.map +1 -0
- package/dist/knowledge/gate-criterion.js +60 -0
- package/dist/knowledge/gate-criterion.js.map +1 -0
- package/dist/knowledge/index/knowledge-index.d.ts +45 -0
- package/dist/knowledge/index/knowledge-index.d.ts.map +1 -0
- package/dist/knowledge/index/knowledge-index.js +20 -0
- package/dist/knowledge/index/knowledge-index.js.map +1 -0
- package/dist/knowledge/index/sqlite-index.d.ts +53 -0
- package/dist/knowledge/index/sqlite-index.d.ts.map +1 -0
- package/dist/knowledge/index/sqlite-index.js +354 -0
- package/dist/knowledge/index/sqlite-index.js.map +1 -0
- package/dist/knowledge/merge-driver.d.ts +36 -0
- package/dist/knowledge/merge-driver.d.ts.map +1 -0
- package/dist/knowledge/merge-driver.js +130 -0
- package/dist/knowledge/merge-driver.js.map +1 -0
- package/dist/knowledge/reader.d.ts +32 -0
- package/dist/knowledge/reader.d.ts.map +1 -0
- package/dist/knowledge/reader.js +74 -0
- package/dist/knowledge/reader.js.map +1 -0
- package/dist/knowledge/seed.d.ts +38 -0
- package/dist/knowledge/seed.d.ts.map +1 -0
- package/dist/knowledge/seed.js +254 -0
- package/dist/knowledge/seed.js.map +1 -0
- package/dist/knowledge/staleness.d.ts +41 -0
- package/dist/knowledge/staleness.d.ts.map +1 -0
- package/dist/knowledge/staleness.js +102 -0
- package/dist/knowledge/staleness.js.map +1 -0
- package/dist/knowledge/sync.d.ts +31 -0
- package/dist/knowledge/sync.d.ts.map +1 -0
- package/dist/knowledge/sync.js +103 -0
- package/dist/knowledge/sync.js.map +1 -0
- package/dist/knowledge/types.d.ts +87 -0
- package/dist/knowledge/types.d.ts.map +1 -0
- package/dist/knowledge/types.js +82 -0
- package/dist/knowledge/types.js.map +1 -0
- package/dist/knowledge/writer.d.ts +67 -0
- package/dist/knowledge/writer.d.ts.map +1 -0
- package/dist/knowledge/writer.js +189 -0
- package/dist/knowledge/writer.js.map +1 -0
- package/dist/knowledge/yaml-source.d.ts +48 -0
- package/dist/knowledge/yaml-source.d.ts.map +1 -0
- package/dist/knowledge/yaml-source.js +195 -0
- package/dist/knowledge/yaml-source.js.map +1 -0
- package/package.json +3 -3
package/README.md
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# @rasensio/aidlc
|
|
2
|
+
|
|
3
|
+
Structured lifecycle guidance for AI coding agents across platforms. One set of skills, every major AI coding tool.
|
|
4
|
+
|
|
5
|
+
[](https://github.com/rasensio/aidlc/blob/main/LICENSE)
|
|
6
|
+
|
|
7
|
+
## What is AIDLC?
|
|
8
|
+
|
|
9
|
+
AIDLC brings phase-driven workflows, review gates, and quality checkpoints to AI-assisted software development. Instead of letting your AI assistant jump straight into code, AIDLC guides it through structured phases — ideation, requirements, design, implementation, testing, deployment, and maintenance.
|
|
10
|
+
|
|
11
|
+
Works with **Claude Code**, **Cursor**, **Windsurf**, **Kiro**, and **Codex**.
|
|
12
|
+
|
|
13
|
+
## Requirements
|
|
14
|
+
|
|
15
|
+
**Node.js >= 22.13.** The knowledge graph uses the built-in `node:sqlite` module — zero native dependencies, but it needs a modern runtime.
|
|
16
|
+
|
|
17
|
+
> **Upgrading from an earlier version?** The CLI previously supported Node >= 18. Upgrade your Node runtime (e.g. `nvm install 22`); no other migration steps are required — existing `.aidlc/` state and skills work unchanged.
|
|
18
|
+
|
|
19
|
+
## Quick Start
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Set up AIDLC once — interactive wizard, or pass --platform to skip prompts
|
|
23
|
+
npx @rasensio/aidlc init --platform claude-code
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then work from your AI coding tool. In Claude Code, invoke the entry point:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
/aidlc
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
It reads your lifecycle state and offers the next actions — continue an in-progress instance, start something new, check status, or review an artifact. You can also just describe what you want ("help me fix a bug") and the matching skill activates on its own.
|
|
33
|
+
|
|
34
|
+
## CLI Commands
|
|
35
|
+
|
|
36
|
+
The CLI has two core jobs: **bootstrap** (installing and refreshing skills) and **CI enforcement** (`aidlc gate`). Lifecycle work happens inside your AI tool via skills; the runtime commands below remain available as terminal shortcuts for the same state protocol.
|
|
37
|
+
|
|
38
|
+
| Command | Purpose |
|
|
39
|
+
|---------|---------|
|
|
40
|
+
| `aidlc init [--platform <id>]` | Set up AIDLC: interactive wizard, or non-interactive with `--platform` |
|
|
41
|
+
| `aidlc update` | Update CLI and refresh project skills |
|
|
42
|
+
| `aidlc gate <phase>` | CI gate check (exit 0 = pass, 1 = fail) |
|
|
43
|
+
| `aidlc start [template]` | Begin a new lifecycle instance |
|
|
44
|
+
| `aidlc continue [instance]` | Resume the active instance |
|
|
45
|
+
| `aidlc status [--json]` | Show progress across active instances |
|
|
46
|
+
| `aidlc transition <instance>` | Evaluate gates and advance phase |
|
|
47
|
+
| `aidlc review <artifact>` | Adversarial review of an artifact |
|
|
48
|
+
| `aidlc discover [--no-knowledge]` | Scan codebase, generate context docs, seed the knowledge graph |
|
|
49
|
+
| `aidlc docs` | Generate onboarding documentation |
|
|
50
|
+
| `aidlc knowledge <subcommand>` | Query and update the local knowledge graph (see below) |
|
|
51
|
+
| `aidlc add action <description>` | Create lifecycle automation from a natural language description |
|
|
52
|
+
|
|
53
|
+
## Knowledge Graph
|
|
54
|
+
|
|
55
|
+
AIDLC keeps a persistent, git-versioned memory of your codebase in `.aidlc/knowledge/` — human-readable YAML as the source of truth, backed by a SQLite FTS5 index for fast queries. Agents consult it before re-exploring code and record what they learn after changing it.
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
aidlc discover # seed from static analysis (modules, deps, endpoints, conventions)
|
|
59
|
+
aidlc knowledge query "payment" # full-text search
|
|
60
|
+
aidlc knowledge get payment-service # one entity + its relationships
|
|
61
|
+
aidlc knowledge graph payment-service --depth 2 # subgraph traversal
|
|
62
|
+
aidlc knowledge context --max-tokens 2000 # markdown summary for agent prompts
|
|
63
|
+
aidlc knowledge add --id my-decision --type decision --name "Use X" --description "…"
|
|
64
|
+
aidlc knowledge sync # after git pull: rebuild index, flag suspicious merges
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Multi-user teams can install a git merge driver that auto-resolves concurrent edits to knowledge files (`aidlc knowledge install-merge-driver` — asks for confirmation before touching git config). The SQLite index (`index.db`) is a disposable cache and stays out of git; only the YAML is versioned.
|
|
68
|
+
|
|
69
|
+
## Supported Platforms
|
|
70
|
+
|
|
71
|
+
| Platform | Config Location | Strategy |
|
|
72
|
+
|----------|----------------|----------|
|
|
73
|
+
| Claude Code | `.claude/skills/aidlc-*/SKILL.md` | Thin activation shims |
|
|
74
|
+
| Kiro | `.kiro/skills/aidlc-*/SKILL.md` + steering | Shims + steering file |
|
|
75
|
+
| Cursor | `.cursor/rules/aidlc-*.mdc` | Description-based rules |
|
|
76
|
+
| Windsurf | `.windsurf/rules/aidlc-*.md` | Size-constrained pointer shims |
|
|
77
|
+
| Codex | `AGENTS.md` | Managed delimiter block |
|
|
78
|
+
|
|
79
|
+
## How It Works
|
|
80
|
+
|
|
81
|
+
1. **Install** — `aidlc init` creates a `.aidlc/` directory with skills and configuration, compiled for your platform
|
|
82
|
+
2. **Pick a template** — full features, quick tasks, bug fixes, or spikes
|
|
83
|
+
3. **Your AI follows the lifecycle** — skills activate in each phase, and the agent manages state directly in `.aidlc/state/` (plain YAML)
|
|
84
|
+
4. **Gates enforce quality** — phase transitions require artifacts to be complete; `aidlc gate` gives CI the same check
|
|
85
|
+
|
|
86
|
+
## Non-Interactive Setup
|
|
87
|
+
|
|
88
|
+
For CI or AI-agent-driven setup:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# Apply defaults (or keep the existing config) without prompts
|
|
92
|
+
npx @rasensio/aidlc init --non-interactive
|
|
93
|
+
|
|
94
|
+
# Add a platform and install its skills without prompts
|
|
95
|
+
npx @rasensio/aidlc init --platform claude-code
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
## Configuration
|
|
99
|
+
|
|
100
|
+
Project configuration lives in `.aidlc/config.yaml`:
|
|
101
|
+
|
|
102
|
+
```yaml
|
|
103
|
+
version: 1
|
|
104
|
+
defaults: { scope: micro, template: micro-task }
|
|
105
|
+
stalled_threshold_days: 7
|
|
106
|
+
claim_timeout_minutes: 60
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Without this file, AIDLC defaults to Micro scope (Implementation + Testing only).
|
|
110
|
+
|
|
111
|
+
## License
|
|
112
|
+
|
|
113
|
+
[MIT](https://github.com/rasensio/aidlc/blob/main/LICENSE)
|
package/dist/cli.js
CHANGED
|
@@ -7,6 +7,17 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Requirements: 17.1
|
|
9
9
|
*/
|
|
10
|
+
// node:sqlite is stable enough for our use (see design DD1) but still tagged
|
|
11
|
+
// experimental on some Node 22/24 lines — silence only that warning so every
|
|
12
|
+
// knowledge command doesn't print boilerplate to stderr.
|
|
13
|
+
const defaultWarningListeners = process.listeners('warning');
|
|
14
|
+
process.removeAllListeners('warning');
|
|
15
|
+
process.on('warning', (warning) => {
|
|
16
|
+
if (warning.name === 'ExperimentalWarning' && warning.message.includes('SQLite'))
|
|
17
|
+
return;
|
|
18
|
+
for (const listener of defaultWarningListeners)
|
|
19
|
+
listener(warning);
|
|
20
|
+
});
|
|
10
21
|
import { Command } from 'commander';
|
|
11
22
|
import { registerInit } from './commands/init.js';
|
|
12
23
|
import { registerStart } from './commands/start.js';
|
|
@@ -15,11 +26,11 @@ import { registerStatus } from './commands/status.js';
|
|
|
15
26
|
import { registerGate } from './commands/gate.js';
|
|
16
27
|
import { registerTransition } from './commands/transition.js';
|
|
17
28
|
import { registerDiscover } from './commands/discover.js';
|
|
18
|
-
import { registerSetup } from './commands/setup.js';
|
|
19
29
|
import { registerAddAction } from './commands/add-action.js';
|
|
20
30
|
import { registerDocs } from './commands/docs.js';
|
|
21
31
|
import { registerReview } from './commands/review.js';
|
|
22
32
|
import { registerUpdate } from './commands/update.js';
|
|
33
|
+
import { registerKnowledge } from './commands/knowledge.js';
|
|
23
34
|
const program = new Command();
|
|
24
35
|
program
|
|
25
36
|
.name('aidlc')
|
|
@@ -32,10 +43,10 @@ registerStatus(program);
|
|
|
32
43
|
registerGate(program);
|
|
33
44
|
registerTransition(program);
|
|
34
45
|
registerDiscover(program);
|
|
35
|
-
registerSetup(program);
|
|
36
46
|
registerAddAction(program);
|
|
37
47
|
registerDocs(program);
|
|
38
48
|
registerReview(program);
|
|
39
49
|
registerUpdate(program);
|
|
50
|
+
registerKnowledge(program);
|
|
40
51
|
program.parse();
|
|
41
52
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG;AAEH,6EAA6E;AAC7E,6EAA6E;AAC7E,yDAAyD;AACzD,MAAM,uBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAC7D,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACtC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;IAChC,IAAI,OAAO,CAAC,IAAI,KAAK,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO;IACzF,KAAK,MAAM,QAAQ,IAAI,uBAAuB;QAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;AACpE,CAAC,CAAC,CAAC;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,oCAAoC,CAAC;KACjD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,aAAa,CAAC,OAAO,CAAC,CAAC;AACvB,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC1B,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAC5B,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC1B,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAC3B,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,cAAc,CAAC,OAAO,CAAC,CAAC;AACxB,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAE3B,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `aidlc discover` command — scan codebase
|
|
2
|
+
* `aidlc discover` command — scan codebase, generate Context_Docs, and seed
|
|
3
|
+
* the knowledge graph.
|
|
3
4
|
*
|
|
4
5
|
* Behavior:
|
|
5
6
|
* - Call `scanCodebase(process.cwd())` to analyze the project.
|
|
6
7
|
* - Call `writeContextDocs(cwd, result)` to produce Context_Docs in `.aidlc/context/`.
|
|
8
|
+
* - Seed the knowledge graph from the scan (modules, dependencies, endpoints,
|
|
9
|
+
* conventions) unless `--no-knowledge` is passed. Re-runs are idempotent:
|
|
10
|
+
* same-id facts merge instead of duplicating (KG Req 4.4, 8.1).
|
|
7
11
|
* - Print a human-readable summary to stdout: primary language, frameworks, conventions.
|
|
8
12
|
* - With `--json`: output the full ScanResult as JSON.
|
|
9
13
|
*
|
|
10
|
-
* Requirements: 15.1, 15.3, 15.10
|
|
14
|
+
* Requirements: 15.1, 15.3, 15.10; KG 8.1–8.3
|
|
11
15
|
*
|
|
12
16
|
* @module
|
|
13
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/commands/discover.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/commands/discover.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyDpC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0CvD"}
|
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `aidlc discover` command — scan codebase
|
|
2
|
+
* `aidlc discover` command — scan codebase, generate Context_Docs, and seed
|
|
3
|
+
* the knowledge graph.
|
|
3
4
|
*
|
|
4
5
|
* Behavior:
|
|
5
6
|
* - Call `scanCodebase(process.cwd())` to analyze the project.
|
|
6
7
|
* - Call `writeContextDocs(cwd, result)` to produce Context_Docs in `.aidlc/context/`.
|
|
8
|
+
* - Seed the knowledge graph from the scan (modules, dependencies, endpoints,
|
|
9
|
+
* conventions) unless `--no-knowledge` is passed. Re-runs are idempotent:
|
|
10
|
+
* same-id facts merge instead of duplicating (KG Req 4.4, 8.1).
|
|
7
11
|
* - Print a human-readable summary to stdout: primary language, frameworks, conventions.
|
|
8
12
|
* - With `--json`: output the full ScanResult as JSON.
|
|
9
13
|
*
|
|
10
|
-
* Requirements: 15.1, 15.3, 15.10
|
|
14
|
+
* Requirements: 15.1, 15.3, 15.10; KG 8.1–8.3
|
|
11
15
|
*
|
|
12
16
|
* @module
|
|
13
17
|
*/
|
|
14
18
|
import { Command } from 'commander';
|
|
15
19
|
import { scanCodebase, writeContextDocs } from '../discover/scanner.js';
|
|
20
|
+
import { seedFromScan } from '../knowledge/seed.js';
|
|
21
|
+
import { openKnowledge } from '../knowledge/engine.js';
|
|
16
22
|
// ---------------------------------------------------------------------------
|
|
17
23
|
// Summary renderer
|
|
18
24
|
// ---------------------------------------------------------------------------
|
|
@@ -64,21 +70,41 @@ function formatSummary(result, docPaths) {
|
|
|
64
70
|
export function registerDiscover(program) {
|
|
65
71
|
program
|
|
66
72
|
.command('discover')
|
|
67
|
-
.description('Scan codebase
|
|
73
|
+
.description('Scan codebase, generate context documents, and seed the knowledge graph')
|
|
68
74
|
.option('--json', 'Output full scan result as JSON')
|
|
75
|
+
.option('--no-knowledge', 'Skip seeding the knowledge graph')
|
|
69
76
|
.action((opts) => {
|
|
70
77
|
const cwd = process.cwd();
|
|
71
78
|
// Run the scanner
|
|
72
79
|
const result = scanCodebase(cwd);
|
|
73
80
|
// Write Context_Docs
|
|
74
81
|
const docPaths = writeContextDocs(cwd, result);
|
|
82
|
+
// Seed the knowledge graph (KG Req 8.1)
|
|
83
|
+
let knowledgeSummary = '';
|
|
84
|
+
if (opts.knowledge !== false) {
|
|
85
|
+
const seed = seedFromScan(cwd, result);
|
|
86
|
+
const engine = openKnowledge(cwd);
|
|
87
|
+
try {
|
|
88
|
+
const imported = engine.writer.importBatch(seed.entities, seed.relationships);
|
|
89
|
+
knowledgeSummary =
|
|
90
|
+
`Knowledge graph: ${imported.added} entities added, ${imported.updated} merged` +
|
|
91
|
+
(imported.errors.length > 0 ? `, ${imported.errors.length} errors` : '') +
|
|
92
|
+
'\n';
|
|
93
|
+
for (const error of imported.errors) {
|
|
94
|
+
process.stderr.write(`Warning: ${error}\n`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
finally {
|
|
98
|
+
engine.close();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
75
101
|
// Output
|
|
76
102
|
if (opts.json) {
|
|
77
103
|
process.stdout.write(JSON.stringify(result, null, 2) + '\n');
|
|
78
104
|
}
|
|
79
105
|
else {
|
|
80
106
|
const summary = formatSummary(result, docPaths);
|
|
81
|
-
process.stdout.write(summary);
|
|
107
|
+
process.stdout.write(summary + knowledgeSummary);
|
|
82
108
|
}
|
|
83
109
|
});
|
|
84
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/commands/discover.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/commands/discover.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/commands/gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../src/commands/gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmFpC;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAUnD"}
|
package/dist/commands/gate.js
CHANGED
|
@@ -24,6 +24,7 @@ import { loadTemplates as loadBuiltInTemplates } from '@rasensio/aidlc-content';
|
|
|
24
24
|
import { evaluateGate } from '../core/gate.js';
|
|
25
25
|
import { loadSnapshot } from '../state/snapshot-store.js';
|
|
26
26
|
import { loadTemplates, resolveTemplate } from '../core/template-resolver.js';
|
|
27
|
+
import { evaluateKnowledgeCriterion } from '../knowledge/gate-criterion.js';
|
|
27
28
|
// ---------------------------------------------------------------------------
|
|
28
29
|
// Helpers
|
|
29
30
|
// ---------------------------------------------------------------------------
|
|
@@ -136,6 +137,13 @@ function runGate(instanceArg, phaseArg, opts) {
|
|
|
136
137
|
}
|
|
137
138
|
// Evaluate the gate
|
|
138
139
|
const result = evaluateGate(phaseName, phaseStates, resolvedTemplate);
|
|
140
|
+
// Knowledge seeding criterion — ideation only, computed live against the
|
|
141
|
+
// index; applies only when the project has adopted the knowledge graph (KG Req 8.5)
|
|
142
|
+
const knowledgeCriteria = evaluateKnowledgeCriterion(projectRoot, phaseName);
|
|
143
|
+
if (knowledgeCriteria.length > 0) {
|
|
144
|
+
result.pass = false;
|
|
145
|
+
result.unsatisfiedCriteria.push(...knowledgeCriteria);
|
|
146
|
+
}
|
|
139
147
|
// Output
|
|
140
148
|
if (opts.json) {
|
|
141
149
|
process.stdout.write(JSON.stringify(result, null, 2) + '\n');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/commands/gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAOhF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../../src/commands/gate.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1,24 +1,30 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `aidlc init` command —
|
|
2
|
+
* `aidlc init` command — set up AIDLC in a project.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* -
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* -
|
|
11
|
-
*
|
|
4
|
+
* Single entry point that merges the former `setup` (interactive configuration
|
|
5
|
+
* wizard) and `init` (per-platform skill install) commands:
|
|
6
|
+
*
|
|
7
|
+
* - `aidlc init` — interactive wizard: collect SetupAnswers via @clack/prompts,
|
|
8
|
+
* write `.aidlc/config.yaml`, install skills for each configured platform,
|
|
9
|
+
* run discovery to generate context docs.
|
|
10
|
+
* - `aidlc init --platform <name>` — non-interactive: add the platform to the
|
|
11
|
+
* config and install skills without prompts.
|
|
12
|
+
* - `aidlc init --non-interactive` — no prompts; preserve existing config or
|
|
13
|
+
* apply defaults.
|
|
14
|
+
* - `--dry-run` — print what would be written without making any changes.
|
|
12
15
|
* - Unsupported platform → exit code 2, stderr lists supported platforms (Req 1.3).
|
|
13
16
|
* - Success → exit code 0, summary of files written (Req 1.7).
|
|
14
17
|
*
|
|
15
|
-
*
|
|
18
|
+
* `aidlc setup` remains registered as a hidden, deprecated alias.
|
|
19
|
+
*
|
|
20
|
+
* Requirements: 1.1, 1.3, 1.5, 17.1, 17.9, 21.1, 21.9, 7.8
|
|
16
21
|
*
|
|
17
22
|
* @module
|
|
18
23
|
*/
|
|
19
24
|
import { Command } from 'commander';
|
|
20
25
|
/**
|
|
21
|
-
* Register the `aidlc init` command
|
|
26
|
+
* Register the `aidlc init` command (and its deprecated `setup` alias)
|
|
27
|
+
* on the given commander program.
|
|
22
28
|
*/
|
|
23
29
|
export declare function registerInit(program: Command): void;
|
|
24
30
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuQpC;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2BnD"}
|