agent-gauntlet 0.12.0 → 0.13.1
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.
|
@@ -346,11 +346,60 @@ entry_points:
|
|
|
346
346
|
- docs-review
|
|
347
347
|
```
|
|
348
348
|
|
|
349
|
+
### Wildcard Entry Points (Monorepos)
|
|
350
|
+
|
|
351
|
+
Use a single-level wildcard (`*`) to expand one entry point into one job per changed subdirectory. This is ideal for monorepos where each package has the same toolchain:
|
|
352
|
+
|
|
353
|
+
```yaml
|
|
354
|
+
entry_points:
|
|
355
|
+
# Root: project-wide checks
|
|
356
|
+
- path: "."
|
|
357
|
+
checks:
|
|
358
|
+
- security-deps
|
|
359
|
+
reviews:
|
|
360
|
+
- code-quality
|
|
361
|
+
|
|
362
|
+
# Per-package: expands to one job per changed package
|
|
363
|
+
- path: "packages/*"
|
|
364
|
+
checks:
|
|
365
|
+
- build
|
|
366
|
+
- lint
|
|
367
|
+
- typecheck
|
|
368
|
+
- test
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
Check commands run with the working directory set to the matched package (e.g., `packages/api`), so a single `test.yml` works for all packages sharing the same test runner.
|
|
372
|
+
|
|
373
|
+
### Split Project Entry Points
|
|
374
|
+
|
|
375
|
+
For projects with distinct parts (e.g., frontend + backend) that may use different toolchains:
|
|
376
|
+
|
|
377
|
+
```yaml
|
|
378
|
+
entry_points:
|
|
379
|
+
- path: "frontend"
|
|
380
|
+
checks:
|
|
381
|
+
- build
|
|
382
|
+
- lint-frontend
|
|
383
|
+
- test-frontend
|
|
384
|
+
reviews:
|
|
385
|
+
- code-quality
|
|
386
|
+
|
|
387
|
+
- path: "backend"
|
|
388
|
+
checks:
|
|
389
|
+
- build-backend
|
|
390
|
+
- lint-backend
|
|
391
|
+
- test-backend
|
|
392
|
+
reviews:
|
|
393
|
+
- code-quality
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
When parts share the same command for a category (e.g., both run `npm test`), use one shared check file — the working directory is set per entry point at runtime. When they use different commands, create separate check files with a suffix (e.g., `test-frontend.yml`, `test-backend.yml`).
|
|
397
|
+
|
|
349
398
|
### Fields
|
|
350
399
|
|
|
351
400
|
| Field | Type | Required | Description |
|
|
352
401
|
|-------|------|----------|-------------|
|
|
353
|
-
| `path` | string | Yes | Directory path to monitor. Relative to project root. |
|
|
402
|
+
| `path` | string | Yes | Directory path to monitor. Relative to project root. Supports single-level wildcards (e.g., `packages/*`). |
|
|
354
403
|
| `checks` | string[] | No | List of check names matching `.gauntlet/checks/<name>.yml` files. |
|
|
355
404
|
| `reviews` | string[] | No | List of review names matching `.gauntlet/reviews/<name>.yml` or `.md` files. |
|
|
356
405
|
| `exclude` | string[] | No | Glob patterns for files to exclude from change detection within this path. |
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# Multi-Project Entry Point Guide
|
|
2
|
+
|
|
3
|
+
Reference for configuring entry points in monorepos and split projects. Only read this file if the project was classified as **monorepo** or **split project** in Step 3 of the setup skill.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Entry Point Proposals
|
|
8
|
+
|
|
9
|
+
### Monorepo
|
|
10
|
+
|
|
11
|
+
Use a wildcard entry point for packages plus a root entry point for project-wide checks:
|
|
12
|
+
|
|
13
|
+
```yaml
|
|
14
|
+
entry_points:
|
|
15
|
+
# Root: project-wide checks (security audits, etc.)
|
|
16
|
+
- path: "."
|
|
17
|
+
checks:
|
|
18
|
+
- security-deps
|
|
19
|
+
reviews:
|
|
20
|
+
- code-quality
|
|
21
|
+
|
|
22
|
+
# Per-package: expands to one job per changed package
|
|
23
|
+
- path: "packages/*" # or apps/*, services/*
|
|
24
|
+
checks:
|
|
25
|
+
- build
|
|
26
|
+
- lint
|
|
27
|
+
- typecheck
|
|
28
|
+
- test
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**How wildcards work:** `packages/*` automatically expands at runtime to one job per changed package. Check commands run with the working directory set to the matched package (e.g., `packages/api`), so `npm test` runs inside that specific package. A single `test.yml` check file works for all packages sharing the same test runner.
|
|
32
|
+
|
|
33
|
+
### Split project — different toolchains (e.g., frontend + backend)
|
|
34
|
+
|
|
35
|
+
Separate entry point for each logical part:
|
|
36
|
+
|
|
37
|
+
```yaml
|
|
38
|
+
entry_points:
|
|
39
|
+
- path: "frontend"
|
|
40
|
+
checks:
|
|
41
|
+
- build
|
|
42
|
+
- lint
|
|
43
|
+
- test
|
|
44
|
+
reviews:
|
|
45
|
+
- code-quality
|
|
46
|
+
|
|
47
|
+
- path: "backend"
|
|
48
|
+
checks:
|
|
49
|
+
- build
|
|
50
|
+
- lint
|
|
51
|
+
- test
|
|
52
|
+
reviews:
|
|
53
|
+
- code-quality
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Each entry point runs checks from within its own directory. If both parts use the same toolchain, they can share check files. If they use different toolchains, create separate check files (see "Check file naming" below).
|
|
57
|
+
|
|
58
|
+
### Split project — same language (e.g., multiple apps or libs)
|
|
59
|
+
|
|
60
|
+
When multiple apps or libraries share the same language and toolchain under a common parent, use a wildcard entry point:
|
|
61
|
+
|
|
62
|
+
```yaml
|
|
63
|
+
entry_points:
|
|
64
|
+
- path: "apps/*"
|
|
65
|
+
checks:
|
|
66
|
+
- build
|
|
67
|
+
- lint
|
|
68
|
+
- test
|
|
69
|
+
reviews:
|
|
70
|
+
- code-quality
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
This works the same as monorepo wildcards — each changed subdirectory gets its own job with the working directory set accordingly. Combine with a root entry point if there are project-wide checks (security, etc.).
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Proposing entry points
|
|
78
|
+
|
|
79
|
+
Present the proposed layout and ask the user to confirm or adjust. They may want to:
|
|
80
|
+
- Change directory paths
|
|
81
|
+
- Add or remove entry points
|
|
82
|
+
- Split a wildcard into individual entry points (or vice versa)
|
|
83
|
+
- Add exclusion patterns
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Scanning for tooling
|
|
88
|
+
|
|
89
|
+
**Split project:** Scan within each entry point's directory independently — different parts may use different tools.
|
|
90
|
+
|
|
91
|
+
**Monorepo with wildcard:** Scan one representative package (the first found, or ask the user which). Also scan the project root for root-level tools (security auditing, etc.).
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Presenting findings
|
|
96
|
+
|
|
97
|
+
Group findings by entry point:
|
|
98
|
+
|
|
99
|
+
**Split project (different toolchains):**
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Entry point: frontend/
|
|
103
|
+
Category | Tool | Command | Confidence
|
|
104
|
+
-----------|------------|--------------------|----------
|
|
105
|
+
Build | Vite | npm run build | High
|
|
106
|
+
Lint | ESLint | npx eslint . | High
|
|
107
|
+
Test | Vitest | npx vitest run | High
|
|
108
|
+
|
|
109
|
+
Entry point: backend/
|
|
110
|
+
Category | Tool | Command | Confidence
|
|
111
|
+
-----------|------------|--------------------|----------
|
|
112
|
+
Build | Go | go build ./... | High
|
|
113
|
+
Lint | golangci | golangci-lint run | High
|
|
114
|
+
Test | Go | go test ./... | High
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**Monorepo (shared toolchain):**
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
Entry point: . (root)
|
|
121
|
+
Category | Tool | Command | Confidence
|
|
122
|
+
----------------|------------|----------------------------------|-----------
|
|
123
|
+
Security (deps) | npm audit | npm audit --audit-level=moderate | Medium
|
|
124
|
+
|
|
125
|
+
Entry point: packages/* (scanned: packages/core)
|
|
126
|
+
Category | Tool | Command | Confidence
|
|
127
|
+
-----------|------------|-------------------|----------
|
|
128
|
+
Build | TypeScript | npm run build | High
|
|
129
|
+
Lint | Biome | npx biome check . | High
|
|
130
|
+
Test | Vitest | npx vitest run | High
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
When confirming, also ask the user whether the entry point assignments look correct.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Check file naming
|
|
138
|
+
|
|
139
|
+
**Shared** — Multiple entry points use the same command for a category (e.g., both run `npm test`). Create one check file (`test.yml`). The working directory is set per entry point at runtime.
|
|
140
|
+
|
|
141
|
+
**Separate** — Entry points use different commands (e.g., frontend runs `npx vitest run`, backend runs `go test ./...`). Create suffixed files:
|
|
142
|
+
- `test-frontend.yml` — `npx vitest run`
|
|
143
|
+
- `test-backend.yml` — `go test ./...`
|
|
144
|
+
|
|
145
|
+
Monorepo wildcard entry points typically use shared check files since all packages share the same toolchain.
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Updating entry_points
|
|
150
|
+
|
|
151
|
+
For multi-entry-point fresh setups, attach `code-quality` review to the entry point covering primary source code (the wildcard or main project entry point, not the root).
|
|
152
|
+
|
|
153
|
+
When adding checks/reviews to an existing multi-entry-point config, ask the user which entry point(s) to attach to.
|
|
@@ -8,7 +8,7 @@ allowed-tools: Bash, Read, Glob, Grep, Write, Edit
|
|
|
8
8
|
|
|
9
9
|
Scan the project to discover tooling and configure checks and reviews for agent-gauntlet.
|
|
10
10
|
|
|
11
|
-
Before starting, read
|
|
11
|
+
Before starting, read `references/check-catalog.md` for check category details, YAML schemas, and example configurations.
|
|
12
12
|
|
|
13
13
|
## Step 1: Check config exists
|
|
14
14
|
|
|
@@ -18,14 +18,14 @@ Read `.gauntlet/config.yml`. If the file does not exist, tell the user to run `a
|
|
|
18
18
|
|
|
19
19
|
Read the `entry_points` field from `.gauntlet/config.yml`.
|
|
20
20
|
|
|
21
|
-
**If `entry_points` is empty (`[]`):** This is a fresh setup. Proceed to Step 3 (
|
|
21
|
+
**If `entry_points` is empty (`[]`):** This is a fresh setup. Proceed to Step 3 (detect project structure).
|
|
22
22
|
|
|
23
23
|
**If `entry_points` is populated:** Show the user a summary of the current configuration:
|
|
24
24
|
- List each entry point with its `path`, `checks`, and `reviews`
|
|
25
25
|
- Then ask the user which action to take:
|
|
26
26
|
|
|
27
27
|
1. **Add checks** — Scan for tools not already configured. Proceed to Step 3, but filter out any checks that already appear in `entry_points`.
|
|
28
|
-
2. **Add custom** — User describes what they want to add. Skip to Step
|
|
28
|
+
2. **Add custom** — User describes what they want to add. Skip to Step 7.
|
|
29
29
|
3. **Reconfigure** — Start fresh. Back up existing files first:
|
|
30
30
|
- Rename each `.gauntlet/checks/*.yml` file to `.yml.bak` (overwrite any previous `.bak` files)
|
|
31
31
|
- Rename each custom `.gauntlet/reviews/*.md` file to `.md.bak` (overwrite any previous `.bak` files)
|
|
@@ -33,58 +33,62 @@ Read the `entry_points` field from `.gauntlet/config.yml`.
|
|
|
33
33
|
- Clear `entry_points` to `[]` in `config.yml`
|
|
34
34
|
- Proceed to Step 3
|
|
35
35
|
|
|
36
|
-
## Step 3:
|
|
36
|
+
## Step 3: Detect project structure
|
|
37
37
|
|
|
38
|
-
Scan the project
|
|
38
|
+
Scan for signals to classify the project as **monorepo**, **split project**, or **single project**.
|
|
39
39
|
|
|
40
|
-
###
|
|
40
|
+
### Monorepo signals
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
6. **Security (code)** — Static analysis / SAST tools (semgrep, bandit, gosec, etc.)
|
|
42
|
+
- `package.json` with a `workspaces` field
|
|
43
|
+
- `pnpm-workspace.yaml`
|
|
44
|
+
- `lerna.json`, `nx.json`, `turbo.json`
|
|
45
|
+
- `Cargo.toml` with a `[workspace]` section
|
|
46
|
+
- Multiple subdirectories under `packages/`, `apps/`, or `services/` each containing their own project manifest (`package.json`, `go.mod`, `Cargo.toml`, `pyproject.toml`)
|
|
48
47
|
|
|
49
|
-
###
|
|
48
|
+
### Split project signals
|
|
50
49
|
|
|
51
|
-
|
|
52
|
-
-
|
|
53
|
-
- `Makefile`, `Taskfile.yml`, `justfile` — Look for targets matching check categories
|
|
54
|
-
- `Cargo.toml` — Rust project (cargo build, cargo test, cargo clippy, cargo audit)
|
|
55
|
-
- `pyproject.toml`, `setup.py`, `setup.cfg` — Python project; check for tool configs (ruff, mypy, pytest, bandit, pip-audit)
|
|
56
|
-
- `go.mod` — Go project (go build, go test, golangci-lint, gosec)
|
|
57
|
-
- `build.gradle`, `build.gradle.kts`, `pom.xml` — Java/Kotlin project (gradle build, mvn package)
|
|
58
|
-
- Config files that confirm tool presence:
|
|
59
|
-
- `.eslintrc`, `.eslintrc.js`, `.eslintrc.json`, `.eslintrc.yml`, `eslint.config.js`, `eslint.config.mjs` — ESLint
|
|
60
|
-
- `biome.json`, `biome.jsonc` — Biome
|
|
61
|
-
- `ruff.toml`, `.ruff.toml` — Ruff
|
|
62
|
-
- `.golangci.yml`, `.golangci.yaml` — golangci-lint
|
|
63
|
-
- `tsconfig.json` — TypeScript (typecheck)
|
|
64
|
-
- `.prettierrc`, `.prettierrc.js`, `.prettierrc.json`, `.prettierrc.yml`, `prettier.config.js` — Prettier
|
|
65
|
-
- `jest.config.js`, `jest.config.ts`, `jest.config.mjs` — Jest
|
|
66
|
-
- `vitest.config.js`, `vitest.config.ts`, `vitest.config.mjs` — Vitest
|
|
67
|
-
- `pytest.ini`, `conftest.py` — Pytest
|
|
68
|
-
- `.semgrep.yml`, `.semgrep.yaml` — Semgrep
|
|
69
|
-
- `.github/workflows/*.yml` — CI workflow files often reveal exact commands for build, lint, test, etc.
|
|
50
|
+
- `frontend/` + `backend/` (or `client/` + `server/`, `web/` + `api/`) directories each containing source code and/or their own project manifest
|
|
51
|
+
- Multiple apps or libraries of the same language under a common parent directory (e.g., `apps/web/`, `apps/api/`, `apps/worker/` each with their own source and config) — suggests a wildcard entry point like `apps/*`
|
|
70
52
|
|
|
71
|
-
|
|
53
|
+
### Single project signals
|
|
72
54
|
|
|
73
|
-
|
|
55
|
+
- `src/` or `lib/` as sole source directory, or source files at project root
|
|
56
|
+
- No monorepo or split project signals found
|
|
74
57
|
|
|
75
|
-
|
|
58
|
+
**If monorepo or split project:** Read `references/project-structure.md` for detailed multi-project entry point guidance, then follow it for Steps 4 through 8. The rest of this file covers the single-project flow.
|
|
59
|
+
|
|
60
|
+
**If single project:** Tell the user what you detected and continue below.
|
|
61
|
+
|
|
62
|
+
## Step 4: Determine entry point path
|
|
63
|
+
|
|
64
|
+
Infer the source directory:
|
|
65
|
+
- If `src/` exists and contains source code, suggest `src`
|
|
66
|
+
- If `lib/` exists and contains source code, suggest `lib`
|
|
67
|
+
- Otherwise suggest `.` (project root — safer default since it captures all changes)
|
|
68
|
+
|
|
69
|
+
**Skip this step** if adding checks to an existing entry point that already has a path.
|
|
70
|
+
|
|
71
|
+
## Step 5: Scan for tooling
|
|
72
|
+
|
|
73
|
+
Scan the project for tooling signals across the 6 check categories listed in `references/check-catalog.md`.
|
|
74
|
+
|
|
75
|
+
**For the "add checks" path:** Filter out checks already configured in `entry_points`.
|
|
76
|
+
|
|
77
|
+
**If no tools discovered:** Offer the custom flow (skip to Step 7). Still include `code-quality` review.
|
|
78
|
+
|
|
79
|
+
## Step 6: Present findings and confirm
|
|
76
80
|
|
|
77
81
|
Show a table of discovered checks:
|
|
78
82
|
|
|
79
83
|
```
|
|
80
|
-
Category | Tool | Command
|
|
81
|
-
|
|
82
|
-
Build | npm | npm run build
|
|
83
|
-
Lint | ESLint | npx eslint .
|
|
84
|
-
Typecheck | TypeScript | npx tsc --noEmit
|
|
85
|
-
Test | Jest | npx jest
|
|
86
|
-
Security (deps) | npm audit | npm audit --audit-level=moderate| Medium
|
|
87
|
-
Security (code) | Semgrep | semgrep scan --config auto --error
|
|
84
|
+
Category | Tool | Command | Confidence
|
|
85
|
+
----------------|-----------------|--------------------------------------|-----------
|
|
86
|
+
Build | npm | npm run build | High
|
|
87
|
+
Lint | ESLint | npx eslint . | High
|
|
88
|
+
Typecheck | TypeScript | npx tsc --noEmit | High
|
|
89
|
+
Test | Jest | npx jest | High
|
|
90
|
+
Security (deps) | npm audit | npm audit --audit-level=moderate | Medium
|
|
91
|
+
Security (code) | Semgrep | semgrep scan --config auto --error . | Medium
|
|
88
92
|
```
|
|
89
93
|
|
|
90
94
|
**Confidence levels:**
|
|
@@ -94,78 +98,32 @@ Security (code) | Semgrep | semgrep scan --config auto --error .| Medium
|
|
|
94
98
|
|
|
95
99
|
If a category has no discovered tool, show `(not found)` with `—` for command and confidence.
|
|
96
100
|
|
|
97
|
-
## Step 5: Ask user to confirm
|
|
98
|
-
|
|
99
101
|
Ask the user:
|
|
100
|
-
1. Which
|
|
101
|
-
2. Whether any commands need adjustment
|
|
102
|
+
1. Which checks to enable (default: all)
|
|
103
|
+
2. Whether any commands need adjustment
|
|
102
104
|
|
|
103
|
-
If the user declines ALL
|
|
105
|
+
If the user declines ALL checks, still include `code-quality` review and offer the custom flow (Step 7).
|
|
104
106
|
|
|
105
107
|
After confirmation, proceed to Step 8 (create files).
|
|
106
108
|
|
|
107
|
-
## Step
|
|
109
|
+
## Step 7: Add custom
|
|
108
110
|
|
|
109
|
-
Ask the user:
|
|
110
|
-
- Is it a **check** (shell command that passes/fails) or a **review** (AI code review)?
|
|
111
|
+
Ask the user: **check** (shell command) or **review** (AI code review)?
|
|
111
112
|
|
|
112
|
-
**For checks:**
|
|
113
|
-
- Ask: What command should be run?
|
|
114
|
-
- Ask: What name for this check? (used as the filename, e.g., `my-check` creates `.gauntlet/checks/my-check.yml`)
|
|
115
|
-
- Ask: Which entry point path should it be attached to?
|
|
116
|
-
- Ask: Any special settings? (timeout, parallel, run_in_ci, run_locally — explain defaults)
|
|
113
|
+
**For checks:** Ask for command, name, and optional settings (timeout, parallel, run_in_ci, run_locally).
|
|
117
114
|
|
|
118
|
-
**For reviews:**
|
|
119
|
-
- Ask: Use the built-in `code-quality` review or write a custom review prompt?
|
|
120
|
-
- If built-in: What name? (creates `.gauntlet/reviews/<name>.yml` with `builtin: code-quality`)
|
|
121
|
-
- If custom: What name? What should the review focus on? Write the review prompt.
|
|
122
|
-
- Creates `.gauntlet/reviews/<name>.md` with YAML frontmatter (`num_reviews: 1`) and the review prompt as Markdown content.
|
|
115
|
+
**For reviews:** Built-in (`code-quality`) or custom prompt? Ask for name and write the review content.
|
|
123
116
|
|
|
124
|
-
## Step
|
|
117
|
+
## Step 8: Create files and update config
|
|
125
118
|
|
|
126
|
-
|
|
127
|
-
- If `src/` directory exists and contains source code, suggest `src`
|
|
128
|
-
- If `lib/` directory exists and contains source code, suggest `lib`
|
|
129
|
-
- Otherwise suggest `.` (project root)
|
|
119
|
+
**Checks** — Create `.gauntlet/checks/<name>.yml` with `command`, `parallel: true`, `run_in_ci: true`, `run_locally: true`. Add optional fields only when specified. See `references/check-catalog.md` for schema.
|
|
130
120
|
|
|
131
|
-
**
|
|
121
|
+
**Custom reviews** — Create `.gauntlet/reviews/<name>.md` with YAML frontmatter (`num_reviews: 1`) and review prompt.
|
|
132
122
|
|
|
133
|
-
|
|
123
|
+
**Built-in reviews** — Create `.gauntlet/reviews/<name>.yml` with `builtin: code-quality` and `num_reviews: 1`.
|
|
134
124
|
|
|
135
|
-
|
|
125
|
+
**Update entry_points** in `.gauntlet/config.yml`:
|
|
136
126
|
|
|
137
|
-
**Checks** — Create `.gauntlet/checks/<name>.yml`:
|
|
138
|
-
```yaml
|
|
139
|
-
command: <the command>
|
|
140
|
-
parallel: true
|
|
141
|
-
run_in_ci: true
|
|
142
|
-
run_locally: true
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
Add optional fields only when the user specified them (timeout, working_directory, rerun_command, etc.). Refer to `references/check-catalog.md` for the full schema.
|
|
146
|
-
|
|
147
|
-
**Custom reviews** — Create `.gauntlet/reviews/<name>.md`:
|
|
148
|
-
```markdown
|
|
149
|
-
---
|
|
150
|
-
num_reviews: 1
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
# <Review Name>
|
|
154
|
-
|
|
155
|
-
<The review prompt content>
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
**Built-in reviews** — Create `.gauntlet/reviews/<name>.yml`:
|
|
159
|
-
```yaml
|
|
160
|
-
builtin: code-quality
|
|
161
|
-
num_reviews: 1
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
## Step 9: Update entry_points
|
|
165
|
-
|
|
166
|
-
Edit `.gauntlet/config.yml` to update the `entry_points` section:
|
|
167
|
-
|
|
168
|
-
**Fresh setup (was `entry_points: []`):**
|
|
169
127
|
```yaml
|
|
170
128
|
entry_points:
|
|
171
129
|
- path: "<source_dir>"
|
|
@@ -176,34 +134,16 @@ entry_points:
|
|
|
176
134
|
- code-quality
|
|
177
135
|
```
|
|
178
136
|
|
|
179
|
-
Always include `code-quality` in
|
|
180
|
-
|
|
181
|
-
**Add checks / Add custom (existing entry points):**
|
|
182
|
-
- Append new check names to the appropriate entry point's `checks` list
|
|
183
|
-
- Append new review names to the appropriate entry point's `reviews` list
|
|
184
|
-
- If the check/review should go on a new entry point (different path), add a new entry point
|
|
185
|
-
|
|
186
|
-
## Step 10: "Add something else?"
|
|
187
|
-
|
|
188
|
-
Ask the user: "Would you like to add another check or review?"
|
|
189
|
-
- If **yes**: loop back to Step 6 (add custom)
|
|
190
|
-
- If **no**: proceed to Step 11
|
|
137
|
+
Always include `code-quality` in `reviews` for fresh setups. For "add checks" / "add custom": append to the appropriate entry point's lists, or add a new entry point if needed.
|
|
191
138
|
|
|
192
|
-
## Step
|
|
139
|
+
## Step 9: "Add something else?"
|
|
193
140
|
|
|
194
|
-
|
|
141
|
+
Ask the user. If yes, loop to Step 7. If no, proceed.
|
|
195
142
|
|
|
196
|
-
|
|
143
|
+
## Step 10: Validate
|
|
197
144
|
|
|
198
|
-
|
|
199
|
-
1. Display the validation errors to the user
|
|
200
|
-
2. Apply one corrective attempt — fix the issue based on the error message (e.g., fix a typo in a YAML file, correct a missing field, fix an entry_points reference to a non-existent check)
|
|
201
|
-
3. Run `agent-gauntlet validate` again
|
|
202
|
-
4. If it still fails: **STOP** and ask the user for guidance. Do not attempt further automatic fixes.
|
|
145
|
+
Run `agent-gauntlet validate`. If it fails, apply one corrective attempt and re-validate. If it still fails, **STOP** and ask the user.
|
|
203
146
|
|
|
204
|
-
## Step
|
|
147
|
+
## Step 11: Suggest next steps
|
|
205
148
|
|
|
206
|
-
Tell the user:
|
|
207
|
-
- Configuration is complete and validated
|
|
208
|
-
- They can now run `/gauntlet-run` to execute the full verification suite
|
|
209
|
-
- They can run `/gauntlet-setup` again at any time to add more checks or reconfigure
|
|
149
|
+
Tell the user: configuration is complete. Run `/gauntlet-run` to execute, or `/gauntlet-setup` again to add more.
|