@williambeto/ai-workflow 2.4.6 → 2.4.7
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
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## [2.4.7] - 2026-06-27
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
- Integrated `@vitest/coverage-v8` to compute code coverage, establishing a strict **80% minimum threshold** for lines, functions, branches, and statements in `vitest.config.js`.
|
|
5
|
+
- Added the `npm run test:coverage` script in `package.json` for easy local and CI coverage reporting.
|
|
6
|
+
- Created the official community Code of Conduct template at `.github/CODE_OF_CONDUCT.md` with maintainer contact method.
|
|
7
|
+
- Excluded the `coverage/` directory from git tracking in `.gitignore`.
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
- Mitigated shell injection risks in the `cli-remediation-executor.js` by removing the insecure `shell:true` parameter and spawning native subprocess commands directly via platform detection (`npm` on POSIX and `npm.cmd` on Windows).
|
|
11
|
+
- Fixed 3 failing unit tests in `visual-verifier.test.js` to align with the CSS variables flexibilization threshold (>200 chars) introduced in v2.4.6.
|
|
12
|
+
- Documented `ai-workflow clean` limitations regarding the absolute deletion of custom `opencode.jsonc` configs in `cli-reference.md` and `troubleshooting.md`.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
- Bumped and updated development dependencies (dev-dependencies group) to their latest stable versions for security and build stability.
|
|
16
|
+
|
|
17
|
+
## [2.4.6] - 2026-06-25
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- Flexibilized Design System CSS variables check in `ArtifactFidelityGate` to only enforce the validation when CSS rules volume is substantial (>200 characters), preventing false-positive blocks on tiny or simple style additions.
|
|
21
|
+
|
|
1
22
|
## [2.4.5] - 2026-06-24
|
|
2
23
|
|
|
3
24
|
### Changed
|
|
@@ -1,55 +1,207 @@
|
|
|
1
|
-
# CLI
|
|
1
|
+
# CLI Reference
|
|
2
|
+
|
|
3
|
+
Complete reference for all `ai-workflow` (alias: `aw`) commands.
|
|
4
|
+
|
|
5
|
+
## Global Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
ai-workflow <command> [options]
|
|
9
|
+
ai-workflow --version
|
|
10
|
+
ai-workflow --help
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## `ai-workflow init`
|
|
16
|
+
|
|
17
|
+
Installs AI Workflow Kit assets into a consumer project.
|
|
18
|
+
|
|
19
|
+
**Synopsis:**
|
|
20
|
+
```bash
|
|
21
|
+
ai-workflow init [--yes] [--force] [--dry-run] [--no-install] [--no-overwrite] [--profile=<profile>] [--gemini] [--claude] [--codex] [--antigravity]
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Description:**
|
|
25
|
+
Creates the `.ai-workflow/` directory with agents, skills, commands, policies, and templates. Generates `opencode.jsonc`, updates `.gitignore`, and creates symlinks for `opencode` and `.agents`.
|
|
26
|
+
|
|
27
|
+
| Flag | Description |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| `--yes` | Auto-approve all confirmations |
|
|
30
|
+
| `--force` | Force overwrite existing files (backs up originals to `.ai-workflow-backups/`) |
|
|
31
|
+
| `--dry-run` | Print actions without applying any changes |
|
|
32
|
+
| `--no-install` | Skip installing npm dependencies |
|
|
33
|
+
| `--no-overwrite` | Do not overwrite any existing files |
|
|
34
|
+
| `--profile=<profile>` | Installation profile: `standard` (default) or `full` (includes examples) |
|
|
35
|
+
| `--gemini` | Install Gemini platform adapter configuration |
|
|
36
|
+
| `--claude` | Install Claude platform adapter configuration |
|
|
37
|
+
| `--codex` | Install Codex platform adapter configuration |
|
|
38
|
+
| `--antigravity` | Install Antigravity platform adapter configuration |
|
|
39
|
+
|
|
40
|
+
**Example:**
|
|
41
|
+
```bash
|
|
42
|
+
ai-workflow init --yes --profile=full --gemini --claude
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
2
46
|
|
|
3
47
|
## `ai-workflow execute`
|
|
4
48
|
|
|
5
|
-
|
|
49
|
+
Orchestrates execution of a natural language request through the workflow state machine.
|
|
50
|
+
|
|
51
|
+
**Synopsis:**
|
|
52
|
+
```bash
|
|
53
|
+
ai-workflow execute "<request>" [--task=<slug>] [--request="<request>"]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**Description:**
|
|
57
|
+
Accepts a natural language request, classifies intent, selects the appropriate workflow mode, creates a safe branch, delegates to the right agent, runs observed validation, and returns a structured delivery summary.
|
|
6
58
|
|
|
7
59
|
| Flag | Description |
|
|
8
60
|
| --- | --- |
|
|
9
|
-
|
|
|
10
|
-
| `--request
|
|
61
|
+
| `"<request>"` | Positional argument: the natural language request |
|
|
62
|
+
| `--request="<request>"` | Named alternative for the request string |
|
|
63
|
+
| `--task=<slug>` | Optional custom task slug for the workflow execution |
|
|
64
|
+
|
|
65
|
+
**Example:**
|
|
66
|
+
```bash
|
|
67
|
+
ai-workflow execute "Add input validation to the user registration form"
|
|
68
|
+
ai-workflow execute --request="Refactor the database module" --task=db-refactor
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
11
72
|
|
|
12
73
|
## `ai-workflow run`
|
|
13
74
|
|
|
14
|
-
Runs formal orchestration for an approved specification
|
|
75
|
+
Runs formal orchestration for an approved specification with branch safety, observed validation, bounded remediation, and handoff generation.
|
|
76
|
+
|
|
77
|
+
**Synopsis:**
|
|
78
|
+
```bash
|
|
79
|
+
ai-workflow run --spec-path=<path>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Description:**
|
|
83
|
+
Reads an approved specification file and orchestrates the full implementation workflow. Enforces branch gate safety, runs validation commands, applies bounded remediation (up to configured attempt limits), and generates a handoff summary.
|
|
15
84
|
|
|
16
85
|
| Flag | Description |
|
|
17
86
|
| --- | --- |
|
|
18
|
-
| `--spec-path=<path>` | Path to the approved specification file
|
|
87
|
+
| `--spec-path=<path>` | Path to the approved specification file (required) |
|
|
19
88
|
|
|
20
|
-
|
|
89
|
+
**Example:**
|
|
90
|
+
```bash
|
|
91
|
+
ai-workflow run --spec-path=.ai-workflow/specs/feature-auth.md
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## `ai-workflow validate`
|
|
97
|
+
|
|
98
|
+
Runs the project validation suite including tests, linting, and quality checks.
|
|
99
|
+
|
|
100
|
+
**Synopsis:**
|
|
101
|
+
```bash
|
|
102
|
+
ai-workflow validate [--a11y] [--visual-dist=<path>] [--port=<port>]
|
|
103
|
+
```
|
|
21
104
|
|
|
22
|
-
|
|
105
|
+
**Description:**
|
|
106
|
+
Executes the project's configured validation commands (`npm test`, `npm run lint`, `npm run build`, etc.) and optionally runs visual regression and accessibility checks.
|
|
23
107
|
|
|
24
108
|
| Flag | Description |
|
|
25
109
|
| --- | --- |
|
|
26
|
-
| `--
|
|
27
|
-
| `--
|
|
28
|
-
| `--
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
110
|
+
| `--a11y` | Run accessibility audit using Axe-core (requires Playwright) |
|
|
111
|
+
| `--visual-dist=<path>` | Path to the built frontend assets for visual validation |
|
|
112
|
+
| `--port=<port>` | Port to serve the frontend assets on for screenshot capture |
|
|
113
|
+
|
|
114
|
+
**Example:**
|
|
115
|
+
```bash
|
|
116
|
+
ai-workflow validate
|
|
117
|
+
ai-workflow validate --a11y --visual-dist=dist --port=3000
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
---
|
|
36
121
|
|
|
37
122
|
## `ai-workflow collect-evidence`
|
|
38
123
|
|
|
39
|
-
Runs
|
|
124
|
+
Runs observed project validation and collects structured evidence.
|
|
125
|
+
|
|
126
|
+
**Synopsis:**
|
|
127
|
+
```bash
|
|
128
|
+
ai-workflow collect-evidence [--task=<slug>] [--mode=<mode>] [--dry-run] [--visual-dist=<path>] [--port=<port>]
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Description:**
|
|
132
|
+
Executes validation scripts, collects results, and produces a delivery summary. In `full` mode, persists an `EVIDENCE.json` artifact. Returns one of three statuses: `COMPLETED`, `COMPLETED_WITH_NOTES`, or `BLOCKED`.
|
|
40
133
|
|
|
41
134
|
| Flag | Description |
|
|
42
135
|
| --- | --- |
|
|
43
|
-
| `--task=<slug>` | Optional task slug to
|
|
44
|
-
| `--mode=<mode>` | Validation mode
|
|
45
|
-
| `--dry-run` | Run checks without writing `EVIDENCE.json
|
|
136
|
+
| `--task=<slug>` | Optional task slug to associate with the evidence |
|
|
137
|
+
| `--mode=<mode>` | Validation mode: `quick`, `standard` (default), or `full` |
|
|
138
|
+
| `--dry-run` | Run checks without writing `EVIDENCE.json` |
|
|
139
|
+
| `--visual-dist=<path>` | Path to built frontend assets for visual validation |
|
|
140
|
+
| `--port=<port>` | Port for serving frontend assets |
|
|
141
|
+
|
|
142
|
+
**Example:**
|
|
143
|
+
```bash
|
|
144
|
+
ai-workflow collect-evidence --mode=full --task=auth-feature
|
|
145
|
+
ai-workflow collect-evidence --dry-run
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
46
149
|
|
|
47
150
|
## `ai-workflow doctor`
|
|
48
151
|
|
|
49
|
-
|
|
152
|
+
Verifies the local AI Workflow Kit installation and configuration.
|
|
153
|
+
|
|
154
|
+
**Synopsis:**
|
|
155
|
+
```bash
|
|
156
|
+
ai-workflow doctor
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**Description:**
|
|
160
|
+
Checks that the CLI is properly installed, the project has a valid Git repository, Node.js version is compatible, and the `.ai-workflow/` configuration exists and is valid.
|
|
161
|
+
|
|
162
|
+
**Example:**
|
|
163
|
+
```bash
|
|
164
|
+
ai-workflow doctor
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## `ai-workflow clean`
|
|
50
170
|
|
|
51
|
-
|
|
171
|
+
De-initializes and removes AI Workflow Kit files and symlinks from the project.
|
|
52
172
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
-
|
|
173
|
+
**Synopsis:**
|
|
174
|
+
```bash
|
|
175
|
+
ai-workflow clean [--yes] [--dry-run] [--purge-agents]
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
**Description:**
|
|
179
|
+
Removes `.ai-workflow/`, `opencode.jsonc`, `.workflow-state.json`, and the `opencode` symlink. Prompts for confirmation unless `--yes` is provided. Use `--purge-agents` to also remove the `.agents/` directory.
|
|
180
|
+
|
|
181
|
+
> [!WARNING]
|
|
182
|
+
> **Limitations:** `ai-workflow clean` deletes the `opencode.jsonc` file entirely. If you had pre-existing configurations or custom additions merged into `opencode.jsonc` before or during initialization, they will not be restored to their original state. Back up any custom `opencode.jsonc` configs before cleaning.
|
|
183
|
+
|
|
184
|
+
| Flag | Description |
|
|
185
|
+
| --- | --- |
|
|
186
|
+
| `--yes` | Skip confirmation prompt |
|
|
187
|
+
| `--dry-run` | Preview what would be deleted without removing anything |
|
|
188
|
+
| `--purge-agents` | Also remove the `.agents/` directory and symlink |
|
|
189
|
+
|
|
190
|
+
**Example:**
|
|
191
|
+
```bash
|
|
192
|
+
ai-workflow clean --dry-run # Preview
|
|
193
|
+
ai-workflow clean --yes # Remove without confirmation
|
|
194
|
+
ai-workflow clean --purge-agents # Remove everything including .agents/
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Public Statuses
|
|
200
|
+
|
|
201
|
+
All workflow commands that produce delivery summaries use these statuses:
|
|
202
|
+
|
|
203
|
+
| Status | Meaning |
|
|
204
|
+
| --- | --- |
|
|
205
|
+
| `COMPLETED` | All validation passed successfully |
|
|
206
|
+
| `COMPLETED_WITH_NOTES` | Passed with recorded limitations or observations |
|
|
207
|
+
| `BLOCKED` | Validation failed, approval missing, or policy violation detected |
|
|
@@ -1,23 +1,117 @@
|
|
|
1
|
-
# Quickstart
|
|
1
|
+
# Quickstart — 5-Minute Guide
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
2. Ask Atlas for a natural software outcome.
|
|
5
|
-
3. Atlas selects quick, standard, or full mode and the closest domain profile.
|
|
6
|
-
4. Write-capable work moves off protected branches before editing.
|
|
7
|
-
5. Relevant validation runs before completion.
|
|
3
|
+
Get AI Workflow Kit running in your project in under 5 minutes.
|
|
8
4
|
|
|
9
|
-
##
|
|
5
|
+
## Prerequisites
|
|
10
6
|
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
7
|
+
- **Node.js** ≥ 18 (LTS recommended)
|
|
8
|
+
- **npm** ≥ 9
|
|
9
|
+
- **Git** initialized repository
|
|
10
|
+
- **OpenCode** runtime installed ([opencode.ai](https://opencode.ai)) — required for `aw run` and `aw execute`
|
|
14
11
|
|
|
15
|
-
|
|
12
|
+
## Step 1: Install
|
|
16
13
|
|
|
17
|
-
|
|
14
|
+
```bash
|
|
15
|
+
npm install -g @williambeto/ai-workflow
|
|
16
|
+
```
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
Verify the installation:
|
|
20
19
|
|
|
21
|
-
|
|
22
|
-
-
|
|
23
|
-
|
|
20
|
+
```bash
|
|
21
|
+
ai-workflow doctor
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Expected output:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
✔ ai-workflow CLI found
|
|
28
|
+
✔ Node.js version compatible
|
|
29
|
+
✔ Git repository detected
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Step 2: Initialize your project
|
|
33
|
+
|
|
34
|
+
Navigate to your project root and run:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
cd your-project
|
|
38
|
+
ai-workflow init
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
This installs the workflow assets into your project:
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
✔ Created .ai-workflow/
|
|
45
|
+
✔ Created opencode.jsonc
|
|
46
|
+
✔ Updated .gitignore
|
|
47
|
+
✔ Installed 6 agents, 20 skills, 14 commands, 11 policies
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Init options
|
|
51
|
+
|
|
52
|
+
| Flag | Description |
|
|
53
|
+
| --- | --- |
|
|
54
|
+
| `--yes` | Auto-approve all confirmations |
|
|
55
|
+
| `--dry-run` | Preview changes without writing files |
|
|
56
|
+
| `--profile=full` | Install with examples (default: `standard`) |
|
|
57
|
+
| `--gemini` | Also install Gemini adapter config |
|
|
58
|
+
| `--claude` | Also install Claude adapter config |
|
|
59
|
+
| `--antigravity` | Also install Antigravity adapter config |
|
|
60
|
+
|
|
61
|
+
## Step 3: Make a request
|
|
62
|
+
|
|
63
|
+
With OpenCode running, ask Atlas for a natural software outcome:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
ai-workflow execute "Add a health check endpoint to the Express API"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Atlas will:
|
|
70
|
+
1. Classify the request intent
|
|
71
|
+
2. Select the appropriate mode (`quick`, `standard`, or `full`)
|
|
72
|
+
3. Create a safe branch (never writes to `main`)
|
|
73
|
+
4. Delegate to the right agent (e.g., Astra for implementation)
|
|
74
|
+
5. Run observed validation (tests, lint, build)
|
|
75
|
+
6. Return a structured delivery summary
|
|
76
|
+
|
|
77
|
+
## Step 4: Collect evidence
|
|
78
|
+
|
|
79
|
+
After work is complete, collect validation evidence:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
ai-workflow collect-evidence --mode=standard
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Expected output:
|
|
86
|
+
|
|
87
|
+
```
|
|
88
|
+
--- Delivery Summary ---
|
|
89
|
+
Status: COMPLETED
|
|
90
|
+
Branch: feat/health-check
|
|
91
|
+
Changes: src/routes/health.js, tests/health.test.js
|
|
92
|
+
Validation: npm,test: PASS
|
|
93
|
+
Known limitations: None recorded
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Completion statuses
|
|
97
|
+
|
|
98
|
+
| Status | Meaning |
|
|
99
|
+
| --- | --- |
|
|
100
|
+
| `COMPLETED` | All validation passed |
|
|
101
|
+
| `COMPLETED_WITH_NOTES` | Passed with recorded limitations |
|
|
102
|
+
| `BLOCKED` | Validation failed or approval missing |
|
|
103
|
+
|
|
104
|
+
## Visual & accessibility evidence
|
|
105
|
+
|
|
106
|
+
If your project uses visual validation or accessibility audits, install the required dependencies:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
npm install -D playwright @playwright/test axe-core
|
|
110
|
+
npx playwright install chromium
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Next steps
|
|
114
|
+
|
|
115
|
+
- [CLI Reference](../../dist-assets/docs/cli-reference.md) — all commands, flags, and examples
|
|
116
|
+
- [Troubleshooting](./troubleshooting.md) — common errors and FAQ
|
|
117
|
+
- [Upgrading to v2](./upgrading-to-v2.md) — migration guide from v1
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Troubleshooting
|
|
2
|
+
|
|
3
|
+
Common issues, solutions, and frequently asked questions for AI Workflow Kit.
|
|
4
|
+
|
|
5
|
+
## Common Errors
|
|
6
|
+
|
|
7
|
+
### `Error: Not a git repository`
|
|
8
|
+
|
|
9
|
+
**Cause:** `ai-workflow` requires a Git-initialized project directory.
|
|
10
|
+
|
|
11
|
+
**Solution:**
|
|
12
|
+
```bash
|
|
13
|
+
git init
|
|
14
|
+
ai-workflow init
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### `Error: ai-workflow must not run init inside its own repository`
|
|
18
|
+
|
|
19
|
+
**Cause:** You are running `ai-workflow init` inside the AI Workflow Kit source repository itself.
|
|
20
|
+
|
|
21
|
+
**Solution:** Navigate to your consumer project directory before running `init`.
|
|
22
|
+
|
|
23
|
+
### `Error: Current branch is protected (main/master)`
|
|
24
|
+
|
|
25
|
+
**Cause:** The Branch Gate prevents writing directly to protected branches.
|
|
26
|
+
|
|
27
|
+
**Solution:** The workflow will automatically create a feature branch. If on a dirty working tree, commit or stash changes first:
|
|
28
|
+
```bash
|
|
29
|
+
git stash
|
|
30
|
+
ai-workflow execute "your request"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### `Status: BLOCKED — FAIL_QUALITY_GATE`
|
|
34
|
+
|
|
35
|
+
**Cause:** Validation commands (`npm test`, `npm run lint`, `npm run build`) failed.
|
|
36
|
+
|
|
37
|
+
**Solution:**
|
|
38
|
+
1. Check the delivery summary for which command failed
|
|
39
|
+
2. Fix the failing tests or lint errors
|
|
40
|
+
3. Re-run: `ai-workflow collect-evidence --mode=standard`
|
|
41
|
+
|
|
42
|
+
### `Error: opencode not found` or `ENOENT: opencode`
|
|
43
|
+
|
|
44
|
+
**Cause:** The OpenCode runtime is not installed or not in your PATH.
|
|
45
|
+
|
|
46
|
+
**Solution:**
|
|
47
|
+
1. Install OpenCode from [opencode.ai](https://opencode.ai)
|
|
48
|
+
2. Verify: `which opencode`
|
|
49
|
+
3. If installed but not found, add it to your PATH
|
|
50
|
+
|
|
51
|
+
### `BLOCKED — Delivery decision is blocking: BLOCK_STACK_CONFLICT`
|
|
52
|
+
|
|
53
|
+
**Cause:** The request asks for a framework or stack that conflicts with the existing project setup.
|
|
54
|
+
|
|
55
|
+
**Solution:** Be explicit about the target stack in your request, or use the `explicitApprovals` mechanism to override.
|
|
56
|
+
|
|
57
|
+
### `Fidelity Violation: Design System token mismatch`
|
|
58
|
+
|
|
59
|
+
**Cause:** CSS files with more than 200 characters of rules were detected without CSS custom properties (`var(--...)`), and the `frontend-design-system` skill is installed.
|
|
60
|
+
|
|
61
|
+
**Solution:**
|
|
62
|
+
- Add CSS custom properties to your stylesheets, or
|
|
63
|
+
- Add explicit approval `no-css-vars` to bypass for simple/legacy stylesheets
|
|
64
|
+
|
|
65
|
+
## Frequently Asked Questions
|
|
66
|
+
|
|
67
|
+
### 1. Can I use AI Workflow Kit without OpenCode?
|
|
68
|
+
|
|
69
|
+
The `init`, `doctor`, `clean`, `validate`, and `collect-evidence` commands work without OpenCode. However, `run` and `execute` require the OpenCode runtime to orchestrate agent workflows.
|
|
70
|
+
|
|
71
|
+
### 2. Does `aw init` modify my existing code?
|
|
72
|
+
|
|
73
|
+
No. It only creates workflow configuration files (`.ai-workflow/`, `opencode.jsonc`, symlinks) and appends entries to `.gitignore`. Your source code is never modified by `init`.
|
|
74
|
+
|
|
75
|
+
### 3. How do I uninstall AI Workflow Kit from a project?
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
ai-workflow clean --yes
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
This removes `.ai-workflow/`, `opencode.jsonc`, `.workflow-state.json`, and the `opencode` symlink. Add `--purge-agents` to also remove `.agents/`. Use `--dry-run` to preview what will be deleted.
|
|
82
|
+
|
|
83
|
+
> [!WARNING]
|
|
84
|
+
> **Limitations:** `clean` deletes `opencode.jsonc` entirely. If you had pre-existing configurations or custom additions merged into `opencode.jsonc` before or during initialization, they will not be restored to their original state. Back up any custom `opencode.jsonc` configs before cleaning.
|
|
85
|
+
|
|
86
|
+
### 4. Which AI platforms are supported?
|
|
87
|
+
|
|
88
|
+
AI Workflow Kit includes adapters for:
|
|
89
|
+
- **Gemini** (`--gemini`)
|
|
90
|
+
- **Claude** (`--claude`)
|
|
91
|
+
- **Codex** (`--codex`)
|
|
92
|
+
- **Antigravity** (`--antigravity`)
|
|
93
|
+
|
|
94
|
+
### 5. What is the difference between `standard` and `full` profiles?
|
|
95
|
+
|
|
96
|
+
| Feature | `standard` | `full` |
|
|
97
|
+
| --- | --- | --- |
|
|
98
|
+
| Agents, skills, commands, policies | ✅ | ✅ |
|
|
99
|
+
| Example specs and templates | ❌ | ✅ |
|
|
100
|
+
| Default | ✅ | ❌ |
|
|
101
|
+
|
|
102
|
+
### 6. Can agents push directly to `main`?
|
|
103
|
+
|
|
104
|
+
No. The Branch Gate policy enforces that all write operations happen on feature branches (`feat/*`, `fix/*`, `chore/*`, `docs/*`). Direct pushes to `main` or `master` are blocked.
|
|
105
|
+
|
|
106
|
+
### 7. How do I update to a newer version?
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
npm install -g @williambeto/ai-workflow@latest
|
|
110
|
+
ai-workflow init --force
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
See [Upgrading to v2](./upgrading-to-v2.md) for detailed migration instructions.
|
|
114
|
+
|
|
115
|
+
## Reporting Issues
|
|
116
|
+
|
|
117
|
+
- **Security vulnerabilities:** Follow the process in [SECURITY.md](../../.github/SECURITY.md)
|
|
118
|
+
- **Bug reports:** Open an issue in the project's GitHub repository with:
|
|
119
|
+
- AI Workflow Kit version (`ai-workflow --version`)
|
|
120
|
+
- Node.js version (`node --version`)
|
|
121
|
+
- Operating system
|
|
122
|
+
- Steps to reproduce
|
|
123
|
+
- Expected vs actual behavior
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@williambeto/ai-workflow",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.7",
|
|
4
4
|
"description": "AI Workflow Kit — OpenCode-first software delivery workflow with agents, commands, skills, validation, and evidence",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "José Willams",
|
|
@@ -73,6 +73,7 @@
|
|
|
73
73
|
"test": "npm run test:unit",
|
|
74
74
|
"test:unit": "vitest run tests/unit/",
|
|
75
75
|
"test:watch": "vitest",
|
|
76
|
+
"test:coverage": "vitest run --coverage",
|
|
76
77
|
"test:e2e": "node tests/validate-e2e.mjs && vitest run tests/e2e/consumer-workflow.test.js",
|
|
77
78
|
"test:e2e:runtime": "AI_WORKFLOW_RELEASE=1 vitest run tests/e2e/consumer-workflow.test.js -t \"Real OpenCode Smoke Test\"",
|
|
78
79
|
"release:verify": "npm run clean:verify && npm test && npm run test:e2e && npm run validate && npm run pack:verify && npm run test:e2e:runtime",
|
|
@@ -90,10 +91,11 @@
|
|
|
90
91
|
"@semantic-release/git": "^10.0.1",
|
|
91
92
|
"@semantic-release/github": "^12.0.8",
|
|
92
93
|
"@semantic-release/npm": "^13.1.5",
|
|
94
|
+
"@vitest/coverage-v8": "^4.1.7",
|
|
93
95
|
"ajv": "^8.20.0",
|
|
94
96
|
"ajv-formats": "^3.0.1",
|
|
95
97
|
"axe-core": "^4.10.0",
|
|
96
|
-
"markdownlint-cli": "^0.
|
|
98
|
+
"markdownlint-cli": "^0.49.0",
|
|
97
99
|
"playwright": "^1.60.0",
|
|
98
100
|
"semantic-release": "^25.0.3",
|
|
99
101
|
"vitest": "^4.1.7"
|
|
@@ -116,9 +116,11 @@ export function createCliRemediationExecutor(cwd) {
|
|
|
116
116
|
|
|
117
117
|
for (const scriptName of toRetry) {
|
|
118
118
|
process.stdout.write(` → npm run ${scriptName} ... `);
|
|
119
|
-
const
|
|
119
|
+
const isWin32 = process.platform === "win32";
|
|
120
|
+
const cmd = isWin32 ? "npm.cmd" : "npm";
|
|
121
|
+
const result = spawnSync(cmd, ["run", scriptName], {
|
|
120
122
|
cwd,
|
|
121
|
-
shell:
|
|
123
|
+
shell: false,
|
|
122
124
|
encoding: "utf8",
|
|
123
125
|
timeout: 120000
|
|
124
126
|
});
|