ai-devkit 0.16.0 → 0.18.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/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +57 -7
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +15 -4
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/lint.d.ts.map +1 -1
- package/dist/commands/lint.js +4 -1
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/phase.d.ts.map +1 -1
- package/dist/commands/phase.js +2 -1
- package/dist/commands/phase.js.map +1 -1
- package/dist/lib/Config.d.ts +2 -0
- package/dist/lib/Config.d.ts.map +1 -1
- package/dist/lib/Config.js +12 -0
- package/dist/lib/Config.js.map +1 -1
- package/dist/lib/InitTemplate.d.ts +3 -0
- package/dist/lib/InitTemplate.d.ts.map +1 -1
- package/dist/lib/InitTemplate.js +13 -1
- package/dist/lib/InitTemplate.js.map +1 -1
- package/dist/lib/SkillManager.d.ts.map +1 -1
- package/dist/lib/SkillManager.js +8 -11
- package/dist/lib/SkillManager.js.map +1 -1
- package/dist/lib/TemplateManager.d.ts +7 -1
- package/dist/lib/TemplateManager.d.ts.map +1 -1
- package/dist/lib/TemplateManager.js +17 -7
- package/dist/lib/TemplateManager.js.map +1 -1
- package/dist/services/install/install.service.d.ts.map +1 -1
- package/dist/services/install/install.service.js +2 -1
- package/dist/services/install/install.service.js.map +1 -1
- package/dist/services/lint/constants.d.ts +0 -1
- package/dist/services/lint/constants.d.ts.map +1 -1
- package/dist/services/lint/constants.js +1 -2
- package/dist/services/lint/constants.js.map +1 -1
- package/dist/services/lint/lint.service.d.ts +1 -1
- package/dist/services/lint/lint.service.d.ts.map +1 -1
- package/dist/services/lint/lint.service.js +6 -5
- package/dist/services/lint/lint.service.js.map +1 -1
- package/dist/services/lint/rules/base-docs.rule.d.ts +1 -1
- package/dist/services/lint/rules/base-docs.rule.d.ts.map +1 -1
- package/dist/services/lint/rules/base-docs.rule.js +2 -2
- package/dist/services/lint/rules/base-docs.rule.js.map +1 -1
- package/dist/services/lint/rules/feature-docs.rule.d.ts +1 -1
- package/dist/services/lint/rules/feature-docs.rule.d.ts.map +1 -1
- package/dist/services/lint/rules/feature-docs.rule.js +2 -2
- package/dist/services/lint/rules/feature-docs.rule.js.map +1 -1
- package/dist/templates/commands/capture-knowledge.md +1 -1
- package/dist/templates/commands/check-implementation.md +1 -1
- package/dist/templates/commands/code-review.md +1 -1
- package/dist/templates/commands/execute-plan.md +2 -2
- package/dist/templates/commands/new-requirement.md +8 -8
- package/dist/templates/commands/review-design.md +1 -1
- package/dist/templates/commands/review-requirements.md +1 -1
- package/dist/templates/commands/update-planning.md +1 -1
- package/dist/templates/commands/writing-test.md +3 -3
- package/dist/templates/templates/commands/capture-knowledge.md +1 -1
- package/dist/templates/templates/commands/check-implementation.md +1 -1
- package/dist/templates/templates/commands/code-review.md +1 -1
- package/dist/templates/templates/commands/execute-plan.md +2 -2
- package/dist/templates/templates/commands/new-requirement.md +8 -8
- package/dist/templates/templates/commands/review-design.md +1 -1
- package/dist/templates/templates/commands/review-requirements.md +1 -1
- package/dist/templates/templates/commands/update-planning.md +1 -1
- package/dist/templates/templates/commands/writing-test.md +3 -3
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -1
- package/dist/types.js.map +1 -1
- package/dist/util/config.d.ts.map +1 -1
- package/dist/util/config.js +3 -0
- package/dist/util/config.js.map +1 -1
- package/package.json +3 -3
- package/templates/commands/capture-knowledge.md +1 -1
- package/templates/commands/check-implementation.md +1 -1
- package/templates/commands/code-review.md +1 -1
- package/templates/commands/execute-plan.md +2 -2
- package/templates/commands/new-requirement.md +8 -8
- package/templates/commands/review-design.md +1 -1
- package/templates/commands/review-requirements.md +1 -1
- package/templates/commands/update-planning.md +1 -1
- package/templates/commands/writing-test.md +3 -3
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: Compare implementation with design and requirements docs to ensure alignment.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
Compare the current implementation with the design in `
|
|
5
|
+
Compare the current implementation with the design in `{{docsDir}}/design/` and requirements in `{{docsDir}}/requirements/`.
|
|
6
6
|
|
|
7
7
|
1. If not already provided, ask for: feature/branch description, list of modified files, relevant design doc(s), and any known constraints or assumptions.
|
|
8
8
|
2. **Use Memory for Context** — Search memory for known constraints and prior decisions before assessing mismatches: `npx ai-devkit@latest memory search --query "<feature implementation alignment>"`.
|
|
@@ -4,7 +4,7 @@ description: Pre-push code review against design docs.
|
|
|
4
4
|
|
|
5
5
|
Perform a local code review **before** pushing changes.
|
|
6
6
|
|
|
7
|
-
1. **Gather Context** — If not already provided, ask for: feature/branch description, list of modified files, relevant design doc(s) (e.g., `
|
|
7
|
+
1. **Gather Context** — If not already provided, ask for: feature/branch description, list of modified files, relevant design doc(s) (e.g., `{{docsDir}}/design/feature-{name}.md`), known constraints or risky areas, and which tests have been run. Also review the latest diff via `git status` and `git diff --stat`.
|
|
8
8
|
2. **Use Memory for Context** — Search memory for project review standards and recurring pitfalls: `npx ai-devkit@latest memory search --query "code review checklist project conventions"`.
|
|
9
9
|
3. **Understand Design Alignment** — For each design doc, summarize architectural intent and critical constraints.
|
|
10
10
|
4. **File-by-File Review** — For every modified file: check alignment with design/requirements and flag deviations, spot logic issues/edge cases/redundant code, flag security concerns (input validation, secrets, auth, data handling), check error handling/performance/observability, and identify missing or outdated tests.
|
|
@@ -4,11 +4,11 @@ description: Execute a feature plan task by task.
|
|
|
4
4
|
|
|
5
5
|
Help me work through a feature plan one task at a time.
|
|
6
6
|
|
|
7
|
-
1. **Gather Context** — If not already provided, ask for: feature name (kebab-case, e.g., `user-authentication`), brief feature/branch description, planning doc path (default `
|
|
7
|
+
1. **Gather Context** — If not already provided, ask for: feature name (kebab-case, e.g., `user-authentication`), brief feature/branch description, planning doc path (default `{{docsDir}}/planning/feature-{name}.md`), and any supporting docs (design, requirements, implementation).
|
|
8
8
|
2. **Use Memory for Context** — Search for prior implementation notes/patterns before starting: `npx ai-devkit@latest memory search --query "<feature implementation plan>"`.
|
|
9
9
|
3. **Load & Present Plan** — Read the planning doc and parse task lists (headings + checkboxes). Present an ordered task queue grouped by section, with status: `todo`, `in-progress`, `done`, `blocked`.
|
|
10
10
|
4. **Interactive Task Execution** — For each task in order: display context and full bullet text, reference relevant design/requirements docs, offer to outline sub-steps before starting, prompt for status update (`done`, `in-progress`, `blocked`, `skipped`) with short notes after work, and if blocked record blocker and move to a "Blocked" list.
|
|
11
|
-
5. **Update Planning Doc** — After each completed or status-changed task, run `/update-planning` to keep `
|
|
11
|
+
5. **Update Planning Doc** — After each completed or status-changed task, run `/update-planning` to keep `{{docsDir}}/planning/feature-{name}.md` accurate.
|
|
12
12
|
6. **Store Reusable Knowledge** — Save reusable implementation guidance/decisions with `npx ai-devkit@latest memory store ...`.
|
|
13
13
|
7. **Session Summary** — Produce a summary: Completed, In Progress (with next steps), Blocked (with blockers), Skipped/Deferred, and New Tasks.
|
|
14
14
|
8. **Next Command Guidance** — Continue `/execute-plan` until plan completion; then run `/check-implementation`.
|
|
@@ -7,13 +7,13 @@ Guide me through adding a new feature, from requirements documentation to implem
|
|
|
7
7
|
1. **Capture Requirement** — If not already provided, ask for: feature name (kebab-case, e.g., `user-authentication`), what problem it solves and who will use it, and key user stories.
|
|
8
8
|
2. **Use Memory for Context** — Before asking repetitive clarification questions, search memory for related decisions or conventions via `npx ai-devkit@latest memory search --query "<feature/topic>"` and reuse relevant context.
|
|
9
9
|
3. **Create Feature Documentation Structure** — Copy each template's content (preserving YAML frontmatter and section headings) into feature-specific files:
|
|
10
|
-
- `
|
|
11
|
-
- `
|
|
12
|
-
- `
|
|
13
|
-
- `
|
|
14
|
-
- `
|
|
15
|
-
4. **Requirements Phase** — Fill out `
|
|
16
|
-
5. **Design Phase** — Fill out `
|
|
17
|
-
6. **Planning Phase** — Fill out `
|
|
10
|
+
- `{{docsDir}}/requirements/README.md` → `{{docsDir}}/requirements/feature-{name}.md`
|
|
11
|
+
- `{{docsDir}}/design/README.md` → `{{docsDir}}/design/feature-{name}.md`
|
|
12
|
+
- `{{docsDir}}/planning/README.md` → `{{docsDir}}/planning/feature-{name}.md`
|
|
13
|
+
- `{{docsDir}}/implementation/README.md` → `{{docsDir}}/implementation/feature-{name}.md`
|
|
14
|
+
- `{{docsDir}}/testing/README.md` → `{{docsDir}}/testing/feature-{name}.md`
|
|
15
|
+
4. **Requirements Phase** — Fill out `{{docsDir}}/requirements/feature-{name}.md`: problem statement, goals/non-goals, user stories, success criteria, constraints, open questions.
|
|
16
|
+
5. **Design Phase** — Fill out `{{docsDir}}/design/feature-{name}.md`: architecture changes, data models, API/interfaces, components, design decisions, security and performance considerations.
|
|
17
|
+
6. **Planning Phase** — Fill out `{{docsDir}}/planning/feature-{name}.md`: task breakdown with subtasks, dependencies, effort estimates, implementation order, risks.
|
|
18
18
|
7. **Store Reusable Knowledge** — When important conventions or decisions are finalized, store them via `npx ai-devkit@latest memory store --title "<title>" --content "<knowledge>" --tags "<tags>"`.
|
|
19
19
|
8. **Next Command Guidance** — Run `/review-requirements` first, then `/review-design`. If both pass, continue with `/execute-plan`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: Review feature design for completeness.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
Review the design documentation in `
|
|
5
|
+
Review the design documentation in `{{docsDir}}/design/feature-{name}.md` (and the project-level README if relevant).
|
|
6
6
|
|
|
7
7
|
1. **Use Memory for Context** — Search memory for prior architecture constraints/patterns: `npx ai-devkit@latest memory search --query "<feature design architecture>"`.
|
|
8
8
|
2. Summarize:
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: Review feature requirements for completeness.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
Review `
|
|
5
|
+
Review `{{docsDir}}/requirements/feature-{name}.md` and the project-level template `{{docsDir}}/requirements/README.md` to ensure structure and content alignment.
|
|
6
6
|
|
|
7
7
|
1. **Use Memory for Context** — Search memory for related requirements/domain decisions before starting: `npx ai-devkit@latest memory search --query "<feature requirements>"`.
|
|
8
8
|
2. Summarize:
|
|
@@ -4,7 +4,7 @@ description: Update planning docs to reflect implementation progress.
|
|
|
4
4
|
|
|
5
5
|
Help me reconcile current implementation progress with the planning documentation.
|
|
6
6
|
|
|
7
|
-
1. **Gather Context** — If not already provided, ask for: feature/branch name and brief status, tasks completed since last update, new tasks discovered, current blockers or risks, and planning doc path (default `
|
|
7
|
+
1. **Gather Context** — If not already provided, ask for: feature/branch name and brief status, tasks completed since last update, new tasks discovered, current blockers or risks, and planning doc path (default `{{docsDir}}/planning/feature-{name}.md`).
|
|
8
8
|
2. **Use Memory for Context** — Search memory for prior decisions that affect priorities/scope: `npx ai-devkit@latest memory search --query "<feature planning updates>"`.
|
|
9
9
|
3. **Review & Reconcile** — Summarize existing milestones, task breakdowns, and dependencies from the planning doc. For each planned task: mark status (done / in progress / blocked / not started), note scope changes, record blockers, identify skipped or added tasks.
|
|
10
10
|
4. **Produce Updated Task List** — Generate an updated checklist grouped by: Done, In Progress, Blocked, Newly Discovered Work — with short notes per task.
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
description: Add tests for a new feature.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
Review `
|
|
5
|
+
Review `{{docsDir}}/testing/feature-{name}.md` and ensure it mirrors the base template before writing tests.
|
|
6
6
|
|
|
7
7
|
1. **Gather Context** — If not already provided, ask for: feature name/branch, summary of changes (link to design & requirements docs), target environment, existing test suites, and any flaky/slow tests to avoid.
|
|
8
8
|
2. **Use Memory for Context** — Search memory for existing testing patterns and prior edge cases: `npx ai-devkit@latest memory search --query "<feature testing strategy>"`.
|
|
9
|
-
3. **Analyze Testing Template** — Identify required sections from `
|
|
9
|
+
3. **Analyze Testing Template** — Identify required sections from `{{docsDir}}/testing/feature-{name}.md`. Confirm success criteria and edge cases from requirements & design docs. Note available mocks/stubs/fixtures.
|
|
10
10
|
4. **Unit Tests (aim for 100% coverage)** — For each module/function: list behavior scenarios (happy path, edge cases, error handling), generate test cases with assertions using existing utilities/mocks, and highlight missing branches preventing full coverage.
|
|
11
11
|
5. **Integration Tests** — Identify critical cross-component flows. Define setup/teardown steps and test cases for interaction boundaries, data contracts, and failure modes.
|
|
12
12
|
6. **Coverage Strategy** — Recommend coverage tooling commands. Call out files/functions still needing coverage and suggest additional tests if <100%.
|
|
13
13
|
7. **Store Reusable Knowledge** — Save reusable testing patterns or tricky fixtures with `npx ai-devkit@latest memory store ...`.
|
|
14
|
-
8. **Update Documentation** — Summarize tests added or still missing. Update `
|
|
14
|
+
8. **Update Documentation** — Summarize tests added or still missing. Update `{{docsDir}}/testing/feature-{name}.md` with links to test files and results. Flag deferred tests as follow-up tasks.
|
|
15
15
|
9. **Next Command Guidance** — If tests expose design issues, return to `/review-design`; otherwise continue to `/code-review`.
|
package/dist/types.d.ts
CHANGED
|
@@ -11,8 +11,12 @@ export interface EnvironmentDefinition {
|
|
|
11
11
|
globalCommandPath?: string;
|
|
12
12
|
}
|
|
13
13
|
export type EnvironmentCode = 'cursor' | 'claude' | 'github' | 'gemini' | 'codex' | 'windsurf' | 'kilocode' | 'amp' | 'opencode' | 'roo' | 'antigravity';
|
|
14
|
+
export declare const DEFAULT_DOCS_DIR = "docs/ai";
|
|
14
15
|
export interface DevKitConfig {
|
|
15
16
|
version: string;
|
|
17
|
+
paths?: {
|
|
18
|
+
docs?: string;
|
|
19
|
+
};
|
|
16
20
|
environments: EnvironmentCode[];
|
|
17
21
|
phases: Phase[];
|
|
18
22
|
skills?: ConfigSkill[];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GACb,cAAc,GACd,QAAQ,GACR,UAAU,GACV,gBAAgB,GAChB,SAAS,GACT,YAAY,GACZ,YAAY,CAAC;AAEjB,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,GAAG,aAAa,CAAC;AAEzJ,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,EAQnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAQrD,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GACb,cAAc,GACd,QAAQ,GACR,UAAU,GACV,gBAAgB,GAChB,SAAS,GACT,YAAY,GACZ,YAAY,CAAC;AAEjB,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,GAAG,aAAa,CAAC;AAEzJ,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,EAQnC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAQrD,CAAC"}
|
package/dist/types.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PHASE_DISPLAY_NAMES = exports.AVAILABLE_PHASES = void 0;
|
|
3
|
+
exports.PHASE_DISPLAY_NAMES = exports.AVAILABLE_PHASES = exports.DEFAULT_DOCS_DIR = void 0;
|
|
4
|
+
exports.DEFAULT_DOCS_DIR = 'docs/ai';
|
|
4
5
|
exports.AVAILABLE_PHASES = [
|
|
5
6
|
'requirements',
|
|
6
7
|
'design',
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAuBa,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAiC7B,QAAA,gBAAgB,GAAY;IACvC,cAAc;IACd,QAAQ;IACR,UAAU;IACV,gBAAgB;IAChB,SAAS;IACT,YAAY;IACZ,YAAY;CACb,CAAC;AAEW,QAAA,mBAAmB,GAA0B;IACxD,YAAY,EAAE,sCAAsC;IACpD,MAAM,EAAE,8BAA8B;IACtC,QAAQ,EAAE,mCAAmC;IAC7C,cAAc,EAAE,sBAAsB;IACtC,OAAO,EAAE,kBAAkB;IAC3B,UAAU,EAAE,qBAAqB;IACjC,UAAU,EAAE,4BAA4B;CACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/util/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,EAAoB,MAAM,UAAU,CAAC;AAGjF,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/util/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,EAAoB,MAAM,UAAU,CAAC;AAGjF,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AA4DD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB,CAQ1F"}
|
package/dist/util/config.js
CHANGED
|
@@ -24,6 +24,9 @@ const skillEntrySchema = zod_1.z.object({
|
|
|
24
24
|
};
|
|
25
25
|
});
|
|
26
26
|
const installConfigSchema = zod_1.z.object({
|
|
27
|
+
paths: zod_1.z.object({
|
|
28
|
+
docs: zod_1.z.string().trim().min(1).optional()
|
|
29
|
+
}).optional(),
|
|
27
30
|
environments: zod_1.z.array(zod_1.z.string()).optional().default([]).superRefine((values, ctx) => {
|
|
28
31
|
values.forEach((value, index) => {
|
|
29
32
|
if (!(0, env_1.isValidEnvironmentCode)(value)) {
|
package/dist/util/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/util/config.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/util/config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-devkit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.0",
|
|
4
4
|
"description": "A CLI toolkit for AI-assisted software development with phase templates and environment setup",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"author": "",
|
|
28
28
|
"license": "MIT",
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@ai-devkit/agent-manager": "0.
|
|
30
|
+
"@ai-devkit/agent-manager": "0.4.0",
|
|
31
31
|
"@ai-devkit/memory": "0.7.0",
|
|
32
32
|
"chalk": "^4.1.2",
|
|
33
33
|
"commander": "^11.1.0",
|
|
@@ -52,6 +52,6 @@
|
|
|
52
52
|
"typescript": "^5.3.3"
|
|
53
53
|
},
|
|
54
54
|
"engines": {
|
|
55
|
-
"node": ">=
|
|
55
|
+
"node": ">=20.20.0"
|
|
56
56
|
}
|
|
57
57
|
}
|
|
@@ -9,6 +9,6 @@ Guide me through creating a structured understanding of a code entry point and s
|
|
|
9
9
|
3. **Collect Source Context** — Read the primary file/module and summarize purpose, exports, key patterns. For folders: list structure, highlight key modules. For functions/APIs: capture signature, parameters, return values, error handling. Extract essential snippets (avoid large dumps).
|
|
10
10
|
4. **Analyze Dependencies** — Build a dependency view up to depth 3, tracking visited nodes to avoid loops. Categorize: imports, function calls, services, external packages. Note external systems or generated code to exclude.
|
|
11
11
|
5. **Synthesize Explanation** — Draft overview (purpose, language, high-level behavior). Detail core logic, execution flow, key patterns. Highlight error handling, performance, security considerations. Identify potential improvements or risks.
|
|
12
|
-
6. **Create Documentation** — Normalize name to kebab-case (`calculateTotalPrice` → `calculate-total-price`). Create `
|
|
12
|
+
6. **Create Documentation** — Normalize name to kebab-case (`calculateTotalPrice` → `calculate-total-price`). Create `{{docsDir}}/implementation/knowledge-{name}.md` with sections: Overview, Implementation Details, Dependencies, Visual Diagrams, Additional Insights, Metadata, Next Steps. Include mermaid diagrams when they clarify flows or relationships. Add metadata (analysis date, depth, files touched).
|
|
13
13
|
7. **Store Reusable Knowledge** — If insights should persist across sessions, store them using `npx ai-devkit@latest memory store ...`.
|
|
14
14
|
8. **Review & Next Actions** — Summarize key insights and open questions. Suggest related areas for deeper dives, confirm file path, and suggest `/remember` for key long-lived rules.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: Compare implementation with design and requirements docs to ensure alignment.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
Compare the current implementation with the design in `
|
|
5
|
+
Compare the current implementation with the design in `{{docsDir}}/design/` and requirements in `{{docsDir}}/requirements/`.
|
|
6
6
|
|
|
7
7
|
1. If not already provided, ask for: feature/branch description, list of modified files, relevant design doc(s), and any known constraints or assumptions.
|
|
8
8
|
2. **Use Memory for Context** — Search memory for known constraints and prior decisions before assessing mismatches: `npx ai-devkit@latest memory search --query "<feature implementation alignment>"`.
|
|
@@ -4,7 +4,7 @@ description: Pre-push code review against design docs.
|
|
|
4
4
|
|
|
5
5
|
Perform a local code review **before** pushing changes.
|
|
6
6
|
|
|
7
|
-
1. **Gather Context** — If not already provided, ask for: feature/branch description, list of modified files, relevant design doc(s) (e.g., `
|
|
7
|
+
1. **Gather Context** — If not already provided, ask for: feature/branch description, list of modified files, relevant design doc(s) (e.g., `{{docsDir}}/design/feature-{name}.md`), known constraints or risky areas, and which tests have been run. Also review the latest diff via `git status` and `git diff --stat`.
|
|
8
8
|
2. **Use Memory for Context** — Search memory for project review standards and recurring pitfalls: `npx ai-devkit@latest memory search --query "code review checklist project conventions"`.
|
|
9
9
|
3. **Understand Design Alignment** — For each design doc, summarize architectural intent and critical constraints.
|
|
10
10
|
4. **File-by-File Review** — For every modified file: check alignment with design/requirements and flag deviations, spot logic issues/edge cases/redundant code, flag security concerns (input validation, secrets, auth, data handling), check error handling/performance/observability, and identify missing or outdated tests.
|
|
@@ -4,11 +4,11 @@ description: Execute a feature plan task by task.
|
|
|
4
4
|
|
|
5
5
|
Help me work through a feature plan one task at a time.
|
|
6
6
|
|
|
7
|
-
1. **Gather Context** — If not already provided, ask for: feature name (kebab-case, e.g., `user-authentication`), brief feature/branch description, planning doc path (default `
|
|
7
|
+
1. **Gather Context** — If not already provided, ask for: feature name (kebab-case, e.g., `user-authentication`), brief feature/branch description, planning doc path (default `{{docsDir}}/planning/feature-{name}.md`), and any supporting docs (design, requirements, implementation).
|
|
8
8
|
2. **Use Memory for Context** — Search for prior implementation notes/patterns before starting: `npx ai-devkit@latest memory search --query "<feature implementation plan>"`.
|
|
9
9
|
3. **Load & Present Plan** — Read the planning doc and parse task lists (headings + checkboxes). Present an ordered task queue grouped by section, with status: `todo`, `in-progress`, `done`, `blocked`.
|
|
10
10
|
4. **Interactive Task Execution** — For each task in order: display context and full bullet text, reference relevant design/requirements docs, offer to outline sub-steps before starting, prompt for status update (`done`, `in-progress`, `blocked`, `skipped`) with short notes after work, and if blocked record blocker and move to a "Blocked" list.
|
|
11
|
-
5. **Update Planning Doc** — After each completed or status-changed task, run `/update-planning` to keep `
|
|
11
|
+
5. **Update Planning Doc** — After each completed or status-changed task, run `/update-planning` to keep `{{docsDir}}/planning/feature-{name}.md` accurate.
|
|
12
12
|
6. **Store Reusable Knowledge** — Save reusable implementation guidance/decisions with `npx ai-devkit@latest memory store ...`.
|
|
13
13
|
7. **Session Summary** — Produce a summary: Completed, In Progress (with next steps), Blocked (with blockers), Skipped/Deferred, and New Tasks.
|
|
14
14
|
8. **Next Command Guidance** — Continue `/execute-plan` until plan completion; then run `/check-implementation`.
|
|
@@ -7,13 +7,13 @@ Guide me through adding a new feature, from requirements documentation to implem
|
|
|
7
7
|
1. **Capture Requirement** — If not already provided, ask for: feature name (kebab-case, e.g., `user-authentication`), what problem it solves and who will use it, and key user stories.
|
|
8
8
|
2. **Use Memory for Context** — Before asking repetitive clarification questions, search memory for related decisions or conventions via `npx ai-devkit@latest memory search --query "<feature/topic>"` and reuse relevant context.
|
|
9
9
|
3. **Create Feature Documentation Structure** — Copy each template's content (preserving YAML frontmatter and section headings) into feature-specific files:
|
|
10
|
-
- `
|
|
11
|
-
- `
|
|
12
|
-
- `
|
|
13
|
-
- `
|
|
14
|
-
- `
|
|
15
|
-
4. **Requirements Phase** — Fill out `
|
|
16
|
-
5. **Design Phase** — Fill out `
|
|
17
|
-
6. **Planning Phase** — Fill out `
|
|
10
|
+
- `{{docsDir}}/requirements/README.md` → `{{docsDir}}/requirements/feature-{name}.md`
|
|
11
|
+
- `{{docsDir}}/design/README.md` → `{{docsDir}}/design/feature-{name}.md`
|
|
12
|
+
- `{{docsDir}}/planning/README.md` → `{{docsDir}}/planning/feature-{name}.md`
|
|
13
|
+
- `{{docsDir}}/implementation/README.md` → `{{docsDir}}/implementation/feature-{name}.md`
|
|
14
|
+
- `{{docsDir}}/testing/README.md` → `{{docsDir}}/testing/feature-{name}.md`
|
|
15
|
+
4. **Requirements Phase** — Fill out `{{docsDir}}/requirements/feature-{name}.md`: problem statement, goals/non-goals, user stories, success criteria, constraints, open questions.
|
|
16
|
+
5. **Design Phase** — Fill out `{{docsDir}}/design/feature-{name}.md`: architecture changes, data models, API/interfaces, components, design decisions, security and performance considerations.
|
|
17
|
+
6. **Planning Phase** — Fill out `{{docsDir}}/planning/feature-{name}.md`: task breakdown with subtasks, dependencies, effort estimates, implementation order, risks.
|
|
18
18
|
7. **Store Reusable Knowledge** — When important conventions or decisions are finalized, store them via `npx ai-devkit@latest memory store --title "<title>" --content "<knowledge>" --tags "<tags>"`.
|
|
19
19
|
8. **Next Command Guidance** — Run `/review-requirements` first, then `/review-design`. If both pass, continue with `/execute-plan`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: Review feature design for completeness.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
Review the design documentation in `
|
|
5
|
+
Review the design documentation in `{{docsDir}}/design/feature-{name}.md` (and the project-level README if relevant).
|
|
6
6
|
|
|
7
7
|
1. **Use Memory for Context** — Search memory for prior architecture constraints/patterns: `npx ai-devkit@latest memory search --query "<feature design architecture>"`.
|
|
8
8
|
2. Summarize:
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
description: Review feature requirements for completeness.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
Review `
|
|
5
|
+
Review `{{docsDir}}/requirements/feature-{name}.md` and the project-level template `{{docsDir}}/requirements/README.md` to ensure structure and content alignment.
|
|
6
6
|
|
|
7
7
|
1. **Use Memory for Context** — Search memory for related requirements/domain decisions before starting: `npx ai-devkit@latest memory search --query "<feature requirements>"`.
|
|
8
8
|
2. Summarize:
|
|
@@ -4,7 +4,7 @@ description: Update planning docs to reflect implementation progress.
|
|
|
4
4
|
|
|
5
5
|
Help me reconcile current implementation progress with the planning documentation.
|
|
6
6
|
|
|
7
|
-
1. **Gather Context** — If not already provided, ask for: feature/branch name and brief status, tasks completed since last update, new tasks discovered, current blockers or risks, and planning doc path (default `
|
|
7
|
+
1. **Gather Context** — If not already provided, ask for: feature/branch name and brief status, tasks completed since last update, new tasks discovered, current blockers or risks, and planning doc path (default `{{docsDir}}/planning/feature-{name}.md`).
|
|
8
8
|
2. **Use Memory for Context** — Search memory for prior decisions that affect priorities/scope: `npx ai-devkit@latest memory search --query "<feature planning updates>"`.
|
|
9
9
|
3. **Review & Reconcile** — Summarize existing milestones, task breakdowns, and dependencies from the planning doc. For each planned task: mark status (done / in progress / blocked / not started), note scope changes, record blockers, identify skipped or added tasks.
|
|
10
10
|
4. **Produce Updated Task List** — Generate an updated checklist grouped by: Done, In Progress, Blocked, Newly Discovered Work — with short notes per task.
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
description: Add tests for a new feature.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
Review `
|
|
5
|
+
Review `{{docsDir}}/testing/feature-{name}.md` and ensure it mirrors the base template before writing tests.
|
|
6
6
|
|
|
7
7
|
1. **Gather Context** — If not already provided, ask for: feature name/branch, summary of changes (link to design & requirements docs), target environment, existing test suites, and any flaky/slow tests to avoid.
|
|
8
8
|
2. **Use Memory for Context** — Search memory for existing testing patterns and prior edge cases: `npx ai-devkit@latest memory search --query "<feature testing strategy>"`.
|
|
9
|
-
3. **Analyze Testing Template** — Identify required sections from `
|
|
9
|
+
3. **Analyze Testing Template** — Identify required sections from `{{docsDir}}/testing/feature-{name}.md`. Confirm success criteria and edge cases from requirements & design docs. Note available mocks/stubs/fixtures.
|
|
10
10
|
4. **Unit Tests (aim for 100% coverage)** — For each module/function: list behavior scenarios (happy path, edge cases, error handling), generate test cases with assertions using existing utilities/mocks, and highlight missing branches preventing full coverage.
|
|
11
11
|
5. **Integration Tests** — Identify critical cross-component flows. Define setup/teardown steps and test cases for interaction boundaries, data contracts, and failure modes.
|
|
12
12
|
6. **Coverage Strategy** — Recommend coverage tooling commands. Call out files/functions still needing coverage and suggest additional tests if <100%.
|
|
13
13
|
7. **Store Reusable Knowledge** — Save reusable testing patterns or tricky fixtures with `npx ai-devkit@latest memory store ...`.
|
|
14
|
-
8. **Update Documentation** — Summarize tests added or still missing. Update `
|
|
14
|
+
8. **Update Documentation** — Summarize tests added or still missing. Update `{{docsDir}}/testing/feature-{name}.md` with links to test files and results. Flag deferred tests as follow-up tasks.
|
|
15
15
|
9. **Next Command Guidance** — If tests expose design issues, return to `/review-design`; otherwise continue to `/code-review`.
|