ai-factory 2.15.0 → 2.16.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.
@@ -1 +1 @@
1
- {"version":3,"file":"skill-hints.d.ts","sourceRoot":"","sources":["../../../src/cli/wizard/skill-hints.ts"],"names":[],"mappings":"AA0CA,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACpC,aAAa,GAAE,MAAgC,GAChD,MAAM,CAGR"}
1
+ {"version":3,"file":"skill-hints.d.ts","sourceRoot":"","sources":["../../../src/cli/wizard/skill-hints.ts"],"names":[],"mappings":"AA2CA,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,qBAAqB,CACjC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACpC,aAAa,GAAE,MAAgC,GAChD,MAAM,CAGR"}
@@ -18,6 +18,7 @@ const SKILL_HINTS = {
18
18
  'aif-loop': 'Iterative quality refinement loop',
19
19
  'aif-plan': 'Plan tasks for feature',
20
20
  'aif-qa': 'QA change-summary, test-plan, test-cases',
21
+ 'aif-qa-check': 'Execute QA cases with human/browser',
21
22
  'aif-reference': 'Create knowledge refs from URLs/docs',
22
23
  'aif-review': 'Review staged changes/PR',
23
24
  'aif-roadmap': 'Roadmap and milestones',
@@ -1 +1 @@
1
- {"version":3,"file":"skill-hints.js","sourceRoot":"","sources":["../../../src/cli/wizard/skill-hints.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAA2B;IACxC,KAAK,EAAE,mBAAmB;IAC1B,aAAa,EAAE,qCAAqC;IACpD,kBAAkB,EAAE,6BAA6B;IACjD,oBAAoB,EAAE,uBAAuB;IAC7C,sBAAsB,EAAE,uBAAuB;IAC/C,QAAQ,EAAE,sBAAsB;IAChC,YAAY,EAAE,4BAA4B;IAC1C,kBAAkB,EAAE,6BAA6B;IACjD,eAAe,EAAE,0BAA0B;IAC3C,UAAU,EAAE,iCAAiC;IAC7C,YAAY,EAAE,4BAA4B;IAC1C,aAAa,EAAE,2BAA2B;IAC1C,SAAS,EAAE,2BAA2B;IACtC,cAAc,EAAE,+BAA+B;IAC/C,eAAe,EAAE,4BAA4B;IAC7C,aAAa,EAAE,+BAA+B;IAC9C,UAAU,EAAE,mCAAmC;IAC/C,UAAU,EAAE,wBAAwB;IACpC,QAAQ,EAAE,0CAA0C;IACpD,eAAe,EAAE,sCAAsC;IACvD,YAAY,EAAE,0BAA0B;IACxC,aAAa,EAAE,wBAAwB;IACvC,WAAW,EAAE,+BAA+B;IAC5C,iBAAiB,EAAE,+BAA+B;IAClD,wBAAwB,EAAE,0BAA0B;IACpD,qBAAqB,EAAE,2BAA2B;IAClD,YAAY,EAAE,oCAAoC;CACrD,CAAC;AAEF,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AACrD,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC,SAAS,YAAY,CAAC,IAAY,EAAE,SAAiB;IACjD,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACjE,OAAO,GAAG,IAAI,KAAK,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe;IACxC,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,OAAe,EACf,UAAoC,EACpC,gBAAwB,uBAAuB;IAE/C,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;IAChE,OAAO,GAAG,OAAO,IAAI,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"skill-hints.js","sourceRoot":"","sources":["../../../src/cli/wizard/skill-hints.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAA2B;IACxC,KAAK,EAAE,mBAAmB;IAC1B,aAAa,EAAE,qCAAqC;IACpD,kBAAkB,EAAE,6BAA6B;IACjD,oBAAoB,EAAE,uBAAuB;IAC7C,sBAAsB,EAAE,uBAAuB;IAC/C,QAAQ,EAAE,sBAAsB;IAChC,YAAY,EAAE,4BAA4B;IAC1C,kBAAkB,EAAE,6BAA6B;IACjD,eAAe,EAAE,0BAA0B;IAC3C,UAAU,EAAE,iCAAiC;IAC7C,YAAY,EAAE,4BAA4B;IAC1C,aAAa,EAAE,2BAA2B;IAC1C,SAAS,EAAE,2BAA2B;IACtC,cAAc,EAAE,+BAA+B;IAC/C,eAAe,EAAE,4BAA4B;IAC7C,aAAa,EAAE,+BAA+B;IAC9C,UAAU,EAAE,mCAAmC;IAC/C,UAAU,EAAE,wBAAwB;IACpC,QAAQ,EAAE,0CAA0C;IACpD,cAAc,EAAE,qCAAqC;IACrD,eAAe,EAAE,sCAAsC;IACvD,YAAY,EAAE,0BAA0B;IACxC,aAAa,EAAE,wBAAwB;IACvC,WAAW,EAAE,+BAA+B;IAC5C,iBAAiB,EAAE,+BAA+B;IAClD,wBAAwB,EAAE,0BAA0B;IACpD,qBAAqB,EAAE,2BAA2B;IAClD,YAAY,EAAE,oCAAoC;CACrD,CAAC;AAEF,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AACrD,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC,SAAS,YAAY,CAAC,IAAY,EAAE,SAAiB;IACjD,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACjE,OAAO,GAAG,IAAI,KAAK,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe;IACxC,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,OAAe,EACf,UAAoC,EACpC,gBAAwB,uBAAuB;IAE/C,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;IAChE,OAAO,GAAG,OAAO,IAAI,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;AACnD,CAAC"}
@@ -167,8 +167,8 @@ const BUILTIN_AGENT_REGISTRY = {
167
167
  displayName: 'Universal / Other',
168
168
  configDir: '.agents',
169
169
  skillsDir: '.agents/skills',
170
- settingsFile: null,
171
- supportsMcp: false,
170
+ settingsFile: '.mcp.json',
171
+ supportsMcp: true,
172
172
  skillsCliAgent: null,
173
173
  source: 'builtin',
174
174
  },
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/core/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/core/agents.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-factory",
3
- "version": "2.15.0",
3
+ "version": "2.16.0",
4
4
  "type": "module",
5
5
  "description": "CLI tool for automating AI agent context setup in projects",
6
6
  "main": "dist/cli/index.js",
@@ -264,6 +264,7 @@ After language resolution and config write, analyze the codebase to detect:
264
264
  - Naming conventions (camelCase, snake_case, PascalCase)
265
265
  - Module boundaries (src/core/, src/cli/, src/utils/)
266
266
  - Error handling patterns (try/catch, error codes)
267
+ - Control flow patterns (guard clauses, early returns/continues, nested conditionals)
267
268
  - Logging patterns (console.log, winston, pino)
268
269
  - Test patterns (jest, mocha, vitest)
269
270
 
@@ -289,6 +290,10 @@ Create `.ai-factory/rules/base.md` with detected conventions. Use resolved `lang
289
290
 
290
291
  - [detected error handling pattern]
291
292
 
293
+ ## Control Flow
294
+
295
+ - Prefer flat, readable control flow over deeply nested conditionals. Use guard clauses, early `return`/`continue`, small named helper methods, or explicit classification logic when they make the code easier to follow. Handle edge cases and irrelevant branches early so the main path stays visible.
296
+
292
297
  ## [Localized heading: Logging]
293
298
 
294
299
  - [detected logging pattern]
@@ -517,7 +522,7 @@ AI Factory writes MCP config to `{{settings_file}}`, but the outer settings shap
517
522
 
518
523
  | Runtime | Write under | Entry shape |
519
524
  |---------|-------------|-------------|
520
- | Standard MCP runtimes (Claude Code, Cursor, Roo Code, Kilo Code, Qwen Code) | `mcpServers.<server>` | `{ "command": "...", "args": [...], "env": {...} }` |
525
+ | Standard MCP runtimes (Claude Code, Cursor, Roo Code, Kilo Code, Qwen Code, Universal / Other) | `mcpServers.<server>` | `{ "command": "...", "args": [...], "env": {...} }` |
521
526
  | OpenCode | `mcp.<server>` | `{ "type": "local", "command": ["...", "..."], "environment": {...} }` |
522
527
  | GitHub Copilot | `servers.<server>` | `{ "type": "stdio", "command": "...", "args": [...], "env": {...} }` |
523
528
  | Codex app | `[mcp_servers.<server>]` in `.codex/config.toml` | `command = "..."`, optional `args = [...]`, credential placeholders as `env_vars = ["VAR"]`, literal values under `[mcp_servers.<server>.env]` |
@@ -107,11 +107,15 @@ paths:
107
107
  rules: .ai-factory/rules/
108
108
 
109
109
  # QA artifacts root directory
110
- # /aif-qa stores change-summary, test-plan, and test-cases here,
111
- # using a deterministic, filesystem-safe derived branch slug as a
112
- # subdirectory: <qa>/<branch-slug>/
113
- # The slug uses a short hash suffix for collision resistance (see
114
- # skills/aif-qa/SKILL.md for the exact algorithm).
110
+ # /aif-qa stores change-summary, test-plan, and test-cases here.
111
+ # /aif-qa-check stores qa-check.md here and binds execution results to
112
+ # the tested revision/build identifier plus deterministic test-cases
113
+ # digests.
114
+ # Both commands use the same deterministic, filesystem-safe derived
115
+ # branch slug as a subdirectory: <qa>/<branch-slug>/
116
+ # The slug uses mandatory 40-character safe-slug truncation plus a short
117
+ # hash suffix for collision resistance (see skills/aif-qa/SKILL.md for
118
+ # the exact algorithm).
115
119
  # Default: .ai-factory/qa/
116
120
  qa: .ai-factory/qa/
117
121
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: aif-architecture
3
3
  description: Generate architecture guidelines for the project. Analyzes tech stack from DESCRIPTION.md, recommends an architecture pattern, and creates .ai-factory/ARCHITECTURE.md. Use when setting up project architecture, asking "which architecture", or after /aif setup.
4
- argument-hint: "[clean|ddd|microservices|monolith|layers|structured|structured-layers|structured-vertical|explicit|explicit-layers|explicit-vertical|vertical]"
4
+ argument-hint: "[microservices|layers|structured|structured-layers|structured-vertical|explicit|explicit-layers|explicit-vertical|explicit-flat] (legacy aliases: clean, ddd, monolith, vertical → mapped to explicit or structured)"
5
5
  allowed-tools: Read Write Glob Grep Bash(mkdir *) AskUserQuestion Questions
6
6
  disable-model-invocation: false
7
7
  ---
@@ -64,19 +64,31 @@ codebase conventions, and tech-stack analysis. These rules are tailored to the c
64
64
  **Enforcement:** After generating any output artifact, verify it against all skill-context rules.
65
65
  If any rule is violated — fix the output before presenting it to the user.
66
66
 
67
- ### Step 1: Analyze & Recommend
67
+ ### Step 1: Recommend Architecture
68
68
 
69
69
  Based on project context, evaluate against the decision matrix and recommend an architecture:
70
70
 
71
71
  **If `$ARGUMENTS` specifies an architecture** (e.g., `/aif-architecture explicit`):
72
- - Map legacy aliases to current patterns:
73
- - `clean` -> Explicit Architecture
74
- - `ddd` -> Explicit Architecture
75
- - `monolith` -> Structured Modules
76
- - `vertical` -> Explicit Architecture (Vertical Slices)
77
- - If `structured` is specified without a suffix (`-layers` or `-vertical`), ASK the user: "Which folder structure variant do you prefer for Structured Modules? 1. By Technical Layer (simpler) or 2. Vertical Slices by Model/Entity (better for large modules)". Wait for their answer before generating the artifact.
78
- - If `explicit` is specified without a suffix (`-layers` or `-vertical`), ASK the user: "Which folder structure variant do you prefer for Explicit Architecture? 1. By Technical Layer or 2. Vertical Slices by Feature". Wait for their answer before generating the artifact.
79
- - Use the resolved architecture directly, skip to Step 2
72
+ - **Direct mapping** (no suffix needed):
73
+ - `layers` Layered Architecture
74
+ - `microservices` Microservices
75
+ - `structured` Structured Modules (ask variant — see below)
76
+ - `explicit` Explicit Architecture (ask variant — see below)
77
+ - **Legacy aliases** (deprecated, mapped to current patterns may be removed in future):
78
+ - `clean` Explicit Architecture
79
+ - `ddd` Explicit Architecture
80
+ - `monolith` → Structured Modules
81
+ - `vertical` → Explicit Architecture (Vertical Slice By Entity)
82
+ - **With suffix** (variant is determined, no need to ask):
83
+ - `structured-layers` → Structured Modules (Technical Layer)
84
+ - `structured-vertical` → Structured Modules (Vertical Slices By Entity)
85
+ - `explicit-layers` → Explicit Architecture (Technical Layer)
86
+ - `explicit-vertical` → Explicit Architecture (Vertical Slice By Entity)
87
+ - `explicit-flat` → Explicit Architecture (Flat Vertical Slice - Simplified)
88
+ - **Without suffix** (ask user to choose variant):
89
+ - If `structured` is specified without a suffix: ASK the user: "Which folder structure variant do you prefer for Structured Modules? 1. Technical Layer (simpler) or 2. Vertical Slices by Entity (better for large modules)". Wait for their answer before generating the artifact.
90
+ - If `explicit` is specified without a suffix: ASK the user: "Which folder structure variant do you prefer for Explicit Architecture? 1. Technical Layer or 2. Explicit Architecture (Vertical Slice By Entity) or 3. Explicit Architecture (Flat Vertical Slice - Simplified)". Wait for their answer before generating the artifact.
91
+ - Use the resolved architecture directly, skip the recommendation step and proceed to Step 1.5
80
92
 
81
93
  **If no specific architecture requested:**
82
94
  - Evaluate the project against the decision matrix (see `references/architecture.md`)
@@ -97,15 +109,34 @@ Which architecture pattern should we use?
97
109
  ```
98
110
 
99
111
  Architecture options:
100
- - **Structured Modules (Technical Layers)** — domain-aware modular architecture organized by technical layers (controllers, services, repositories). Simpler, best for small-to-medium modules.
101
- - **Structured Modules (Vertical Slices)** domain-aware modular architecture organized by Vertical Slices (grouped by Model/Entity) where each entity has its own slice containing its controller, service, and repository. Best for growing projects that need structure now but may evolve into Explicit Architecture later.
102
- - **Explicit Architecture (Technical Layers)** — pragmatic fusion of Clean, Hexagonal, Onion architectures. Code within bounded contexts is organized by technical layer (Domain, Application, Infrastructure, Presentation). Best for complex domains where layered boundaries must be strict.
103
- - **Explicit Architecture (Vertical Slices)** same Explicit Architecture principles, but code within each bounded context is organized by feature (vertical slices) containing their own Application, Infrastructure, and Presentation logic, while Domain stays shared. Best when features are independent and long-lived.
104
- - **Microservices** independent deployment, good for large teams with clear domain boundaries
105
- - **Layered Architecture** — simple layers (presentation → business → data), good for smaller projects
112
+ - **Structured Modules (Technical Layer)**
113
+ - **Structured Modules (Vertical Slices By Entity)**
114
+ - **Explicit Architecture (Technical Layer)**
115
+ - **Explicit Architecture (Vertical Slice By Entity)**
116
+ - **Explicit Architecture (Flat Vertical Slice - Simplified)**
117
+ - **Microservices**
118
+ - **Layered Architecture**
119
+ (See `references/architecture.md` for detailed descriptions of these patterns to formulate your recommendation).
106
120
 
107
121
  **CRITICAL INSTRUCTION:** You MUST read `references/architecture.md` before generating the `ARCHITECTURE.md` artifact to ensure correct terminology, dependency directions.
108
122
 
123
+ ### Step 1.5: Codebase Alignment Check
124
+
125
+ **CRITICAL:** Before generating the document, compare the chosen architecture's ideal folder structure (from `references/architecture.md`) against the actual existing codebase structure.
126
+
127
+ - If the project is empty or mostly matches: proceed to Step 2.
128
+ - **If there are significant discrepancies:** DO NOT silently merge the ideal architecture with the messy reality. You MUST stop and ask the user how to proceed via `AskUserQuestion`:
129
+
130
+ ```
131
+ The current project structure differs significantly from the ideal [Pattern Name] architecture.
132
+ [Briefly list 1-2 major differences]
133
+
134
+ How should we generate the ARCHITECTURE.md?
135
+ 1. Adapt the guidelines to fit the existing application structure (document reality).
136
+ 2. Generate the pure, strict architecture guidelines (requires refactoring the application later to match).
137
+ ```
138
+ Wait for their decision before proceeding to Step 2.
139
+
109
140
  ### Step 2: Generate the Architecture Artifact
110
141
 
111
142
  Create the parent directory for the resolved architecture path if needed.
@@ -145,6 +176,18 @@ Generate the resolved architecture artifact (default: `.ai-factory/ARCHITECTURE.
145
176
  2. [Principle 2]
146
177
  3. [Principle 3]
147
178
 
179
+ [If the user chose Option 2 (strict architecture) in Step 1.5, add the following section:]
180
+ ## Legacy vs New Code Policy
181
+ - **New Features:** All new code MUST strictly follow the architecture defined in this document.
182
+ - **Legacy Code Modification:** Do NOT automatically refactor unrelated legacy code to fit this architecture. Touch legacy code only when necessary for bug fixes, when tasked with explicit refactoring, or when adapting it to be consumed by new features.
183
+ - **Interoperability:** When new code must call legacy code, isolate the interaction using adapters, interfaces, or facades so that legacy patterns do not pollute the new architecture.
184
+
185
+ [If the user chose Option 1 (adapt to reality) in Step 1.5, add the following lighter section:]
186
+ ## Code Organization Note
187
+ - **New Features:** All new code should follow the architecture defined in this document where practical.
188
+ - **Existing Code:** Document the current structure as-is. When modifying existing code, prefer following the architectural conventions in this document, but do not force a rewrite of unrelated code.
189
+ - **Interoperability:** When new code must call existing code, prefer clean interfaces but do not refactor purely for structural alignment.
190
+
148
191
  ## Code Examples
149
192
 
150
193
  ### [Example 1 title]
@@ -166,7 +209,7 @@ Generate the resolved architecture artifact (default: `.ai-factory/ARCHITECTURE.
166
209
  - Adapt ALL examples to the project's language and framework (don't use TypeScript examples for a Go project)
167
210
  - Use the project's actual conventions (import paths, naming, etc.)
168
211
  - Keep it practical — focus on rules that affect day-to-day development
169
- - Folder structure should extend from what already exists in the project, not replace it
212
+ - Base the generated folder structure on the user's decision in Step 1.5 (either adapted to reality or strict pure architecture). Do not automatically merge them without user consent.
170
213
 
171
214
  ### Step 3: Update DESCRIPTION.md
172
215
 
@@ -215,5 +258,3 @@ Present the confirmation in resolved `language.ui` and report the resolved archi
215
258
  - Read-only context: roadmap, rules, research, and plan artifacts unless user explicitly requests otherwise.
216
259
 
217
260
  ---
218
-
219
- ---