@open-agent-toolkit/cli 0.0.33 → 0.0.34
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/assets/docs/workflows/projects/lifecycle.md +1 -1
- package/assets/docs/workflows/skills/index.md +1 -1
- package/assets/public-package-versions.json +4 -4
- package/assets/skills/oat-docs/SKILL.md +5 -3
- package/assets/skills/oat-project-quick-start/SKILL.md +9 -3
- package/dist/validation/skills.d.ts.map +1 -1
- package/dist/validation/skills.js +9 -0
- package/package.json +2 -2
|
@@ -104,7 +104,7 @@ When `autoReviewAtCheckpoints` is enabled (via `.oat/config.json` or `plan.md` f
|
|
|
104
104
|
|
|
105
105
|
### Quick lane diagram
|
|
106
106
|
|
|
107
|
-
1. `oat-project-quick-start` (adaptive discovery —
|
|
107
|
+
1. `oat-project-quick-start` (adaptive discovery — provide a project name and optional description; if only the name is provided, quick-start asks for the missing description before discovery. Well-understood requests synthesize quickly, exploratory requests invest in solution space exploration)
|
|
108
108
|
2. Decision point: straight to plan, optional lightweight `design.md`, or promote to spec-driven
|
|
109
109
|
3. Implement:
|
|
110
110
|
- `oat-project-implement` (sequential)
|
|
@@ -14,7 +14,7 @@ Use this section when you want to choose the right OAT skill for a task. If you
|
|
|
14
14
|
|
|
15
15
|
## Key Skills by Use Case
|
|
16
16
|
|
|
17
|
-
- Start a new tracked project: `oat-project-new` or `oat-project-quick-start`
|
|
17
|
+
- Start a new tracked project: `oat-project-new` or `oat-project-quick-start` (quick start accepts a project name plus optional description; if you omit the description it should ask before discovery begins)
|
|
18
18
|
- Resume an existing project: `oat-project-open` and `oat-project-progress`
|
|
19
19
|
- Execute a ready plan: `oat-project-implement`
|
|
20
20
|
- Import an existing plan: `oat-project-import-plan`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-docs
|
|
3
|
-
version: 1.0.
|
|
3
|
+
version: 1.0.1
|
|
4
4
|
description: Use when a user asks questions about OAT workflows, CLI commands, skill authoring, configuration, or project lifecycle. Answers questions by reading locally-bundled OAT documentation.
|
|
5
5
|
argument-hint: '[question]'
|
|
6
6
|
disable-model-invocation: false
|
|
@@ -161,13 +161,15 @@ Would you like me to:
|
|
|
161
161
|
To create a new OAT project, you have two main approaches:
|
|
162
162
|
|
|
163
163
|
1. **Quick mode** (recommended for most tasks):
|
|
164
|
-
oat-project-quick-start <project-name>
|
|
164
|
+
oat-project-quick-start <project-name> "project description"
|
|
165
165
|
|
|
166
166
|
2. **Spec-driven mode** (for complex features):
|
|
167
167
|
oat-project-new <project-name>
|
|
168
168
|
|
|
169
169
|
Quick mode goes straight from discovery to plan. Spec-driven mode adds
|
|
170
|
-
formal spec and design phases.
|
|
170
|
+
formal spec and design phases. If you invoke quick mode with only a
|
|
171
|
+
project name, it should ask you for the missing project description
|
|
172
|
+
before discovery starts.
|
|
171
173
|
|
|
172
174
|
Both create a project directory under your projects root
|
|
173
175
|
(default: .oat/projects/shared/<project-name>/) with standard artifacts:
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: oat-project-quick-start
|
|
3
|
-
version: 1.3.
|
|
3
|
+
version: 1.3.3
|
|
4
4
|
description: Use when a task is small enough for quick mode or rapid iteration is preferred. Scaffolds a lightweight OAT project from discovery directly to a runnable plan, with optional brainstorming and lightweight design.
|
|
5
|
-
argument-hint: '<project-name>'
|
|
5
|
+
argument-hint: '<project-name> ["project description"]'
|
|
6
6
|
disable-model-invocation: true
|
|
7
7
|
user-invocable: true
|
|
8
8
|
allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
|
|
@@ -83,7 +83,11 @@ PROJECTS_ROOT="${PROJECTS_ROOT%/}"
|
|
|
83
83
|
|
|
84
84
|
If no valid active project exists:
|
|
85
85
|
|
|
86
|
-
-
|
|
86
|
+
- Resolve startup input from `$ARGUMENTS` before doing any discovery work:
|
|
87
|
+
- Accept `{project-name}` plus an optional `{project-description}`.
|
|
88
|
+
- If `$ARGUMENTS` contains only a bare `{project-name}` (for example a slug or short title) without a substantive description, ask the user for a short project description before scanning the repo or drafting discovery.
|
|
89
|
+
- Do not infer requirements from the project name alone or go exploring the codebase to guess what the project means.
|
|
90
|
+
- If neither field is available, ask for both the project name and a short project description. One or two sentences is enough for the description.
|
|
87
91
|
- Create project via the same scaffolding path used by `oat-project-new`:
|
|
88
92
|
|
|
89
93
|
```bash
|
|
@@ -116,6 +120,8 @@ If `"$PROJECT_PATH/discovery.md"` is missing, create it from `.oat/templates/dis
|
|
|
116
120
|
|
|
117
121
|
Before asking questions, classify the request:
|
|
118
122
|
|
|
123
|
+
- Base this classification on the user's project description plus session context. A bare project name by itself is not enough context to start discovery.
|
|
124
|
+
|
|
119
125
|
- **Well-understood** — the user has a clear mental model, requirements are specific, approach is obvious. Examples: "add a CLI flag for verbose output", "rename X to Y across the codebase."
|
|
120
126
|
→ Synthesize `discovery.md` from available session context quickly when enough detail is already available. Ask only the minimum additional questions needed to remove blockers for a quality plan.
|
|
121
127
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/validation/skills.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,uCAAuC;IACtD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sCAAsC;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,KAChD,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,UAAU,6BAA6B;IACrC,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/validation/skills.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,uCAAuC;IACtD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sCAAsC;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,KAChD,OAAO,CAAC,cAAc,CAAC,CAAC;AAE7B,UAAU,6BAA6B;IACrC,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB;AAmPD,wBAAsB,gCAAgC,CACpD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,uCAAuC,EAChD,YAAY,GAAE,6BAAkC,GAC/C,OAAO,CAAC,sCAAsC,CAAC,CAoBjD;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,wBAA6B,EACtC,YAAY,GAAE,6BAAkC,GAC/C,OAAO,CAAC,uBAAuB,CAAC,CA6HlC"}
|
|
@@ -77,6 +77,15 @@ function validateQuickStartSemantics(skillPath, content, findings) {
|
|
|
77
77
|
message: 'Quick-start must limit follow-up questions to the minimum needed to remove blockers',
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
|
+
if (!(/(project description|project brief)/i.test(content) &&
|
|
81
|
+
/(project name alone|bare .*project-name|only a bare .*project-name)/i.test(content) &&
|
|
82
|
+
/(ask the user|ask for)/i.test(content) &&
|
|
83
|
+
/(do not infer requirements from the project name alone|not enough context to start discovery)/i.test(content))) {
|
|
84
|
+
findings.push({
|
|
85
|
+
file: skillPath,
|
|
86
|
+
message: 'Quick-start must treat a bare project name as insufficient input, ask for a project description, and avoid inferring scope from the repo',
|
|
87
|
+
});
|
|
88
|
+
}
|
|
80
89
|
}
|
|
81
90
|
async function listChangedSkillFiles(repoRoot, baseRef, dependencies) {
|
|
82
91
|
const execFile = dependencies.gitExecFile ?? execFileAsync;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@open-agent-toolkit/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.34",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Open Agent Toolkit CLI",
|
|
6
6
|
"homepage": "https://github.com/voxmedia/open-agent-toolkit/tree/main/packages/cli",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"ora": "^9.0.0",
|
|
34
34
|
"yaml": "2.8.2",
|
|
35
35
|
"zod": "^3.25.76",
|
|
36
|
-
"@open-agent-toolkit/control-plane": "0.0.
|
|
36
|
+
"@open-agent-toolkit/control-plane": "0.0.34"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/node": "^22.10.0",
|