conductor-4-all 0.0.17 → 0.0.18
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.
|
@@ -5,8 +5,6 @@ You are an AI agent. Your primary function is to set up and manage a software pr
|
|
|
5
5
|
|
|
6
6
|
CRITICAL: You must validate the success of every tool call. If any tool call fails, you MUST halt the current operation immediately, announce the failure to the user, and await further instructions.
|
|
7
7
|
|
|
8
|
-
CRITICAL: When determining model complexity, ALWAYS select the "flash" model, regardless of the task's perceived difficulty.
|
|
9
|
-
|
|
10
8
|
---
|
|
11
9
|
|
|
12
10
|
## 1.1 PRE-INITIALIZATION OVERVIEW
|
|
@@ -22,30 +20,36 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
|
|
|
22
20
|
|
|
23
21
|
---
|
|
24
22
|
|
|
25
|
-
## 1.2
|
|
26
|
-
**PROTOCOL: Before starting the setup, determine the project's state
|
|
27
|
-
|
|
28
|
-
1. **
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
23
|
+
## 1.2 PROJECT AUDIT
|
|
24
|
+
**PROTOCOL: Before starting the setup, determine the project's state by auditing existing artifacts.**
|
|
25
|
+
|
|
26
|
+
1. **Audit Artifacts:** Check the file system for the existence of the following files/directories in the `conductor/` directory:
|
|
27
|
+
- `product.md`
|
|
28
|
+
- `product-guidelines.md`
|
|
29
|
+
- `tech-stack.md`
|
|
30
|
+
- `code_styleguides/`
|
|
31
|
+
- `workflow.md`
|
|
32
|
+
- `index.md`
|
|
33
|
+
- `tracks/*/` (specifically `plan.md` and `index.md`)
|
|
34
|
+
|
|
35
|
+
2. **Determine Target Section:** Map the project's state to a target section using the priority table below (highest match wins). **DO NOT JUMP YET.** Keep this target in mind.
|
|
36
|
+
|
|
37
|
+
| Artifact Exists | Target Section | Announcement |
|
|
38
|
+
| :--- | :--- | :--- |
|
|
39
|
+
| All files in `tracks/<track_id>/` (`spec`, `plan`, `metadata`, `index`) | **HALT** | "The project is already initialized. Use `/conductor:newTrack` or `/conductor:implement`." |
|
|
40
|
+
| `index.md` (top-level) | **Section 3.0** | "Resuming setup: Scaffolding is complete. Next: generate the first track. (Note: If an incomplete track folder was detected, we will restart this step to ensure a clean, consistent state)." |
|
|
41
|
+
| `workflow.md` | **Section 2.6** | "Resuming setup: Workflow is defined. Next: generate project index." |
|
|
42
|
+
| `code_styleguides/` | **Section 2.5** | "Resuming setup: Guides/Tech Stack configured. Next: define project workflow." |
|
|
43
|
+
| `tech-stack.md` | **Section 2.4** | "Resuming setup: Tech Stack defined. Next: select Code Styleguides." |
|
|
44
|
+
| `product-guidelines.md` | **Section 2.3** | "Resuming setup: Guidelines are complete. Next: define the Technology Stack." |
|
|
45
|
+
| `product.md` | **Section 2.2** | "Resuming setup: Product Guide is complete. Next: create Product Guidelines." |
|
|
46
|
+
| (None) | **Section 2.0** | (None) |
|
|
47
|
+
|
|
48
|
+
3. **Proceed to Section 2.0:** You MUST proceed to Section 2.0 to establish the Greenfield/Brownfield context before jumping to your target.
|
|
45
49
|
|
|
46
50
|
---
|
|
47
51
|
|
|
48
|
-
## 2.0
|
|
52
|
+
## 2.0 STREAMLINED PROJECT SETUP
|
|
49
53
|
**PROTOCOL: Follow this sequence to perform a guided, interactive setup with the user.**
|
|
50
54
|
|
|
51
55
|
|
|
@@ -53,17 +57,25 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
|
|
|
53
57
|
1. **Detect Project Maturity:**
|
|
54
58
|
- **Classify Project:** Determine if the project is "Brownfield" (Existing) or "Greenfield" (New) based on the following indicators:
|
|
55
59
|
- **Brownfield Indicators:**
|
|
56
|
-
- Check for
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
60
|
-
- If ANY of the above conditions are met (version control directory, dirty git repo, dependency manifest, or source code directories), classify as **Brownfield**.
|
|
60
|
+
- Check for dependency manifests: `package.json`, `pom.xml`, `requirements.txt`, `go.mod`, `Cargo.toml`.
|
|
61
|
+
- Check for source code directories: `src/`, `app/`, `lib/`, `bin/` containing code files.
|
|
62
|
+
- If a `.git` directory exists, execute `git status --porcelain`. Ignore changes within the `conductor/` directory. If there are *other* uncommitted changes, it may be Brownfield.
|
|
63
|
+
- If ANY of the primary indicators (manifests or source code directories) are found, classify as **Brownfield**.
|
|
61
64
|
- **Greenfield Condition:**
|
|
62
|
-
- Classify as **Greenfield** ONLY if
|
|
65
|
+
- Classify as **Greenfield** ONLY if:
|
|
66
|
+
1. NONE of the "Brownfield Indicators" are found.
|
|
67
|
+
2. The directory contains no application source code or dependency manifests (ignoring the `conductor/` directory, a clean or newly initialized `.git` folder, and a `README.md`).
|
|
68
|
+
|
|
63
69
|
|
|
64
|
-
2. **
|
|
70
|
+
2. **Resume Fast-Forward Check:**
|
|
71
|
+
- If the **Target Section** (from 1.2) is anything other than "Section 2.0":
|
|
72
|
+
- Announce the project maturity (Greenfield/Brownfield) and **briefly state the reason** (e.g., "A Greenfield project was detected because no application code exists"). Then announce the target section.
|
|
73
|
+
- **IMMEDIATELY JUMP** to the Target Section. Do not execute the rest of Section 2.0.
|
|
74
|
+
- If the Target Section is "Section 2.0", proceed to step 3.
|
|
75
|
+
|
|
76
|
+
3. **Execute Workflow based on Maturity:**
|
|
65
77
|
- **If Brownfield:**
|
|
66
|
-
- Announce that an existing project has been detected.
|
|
78
|
+
- Announce that an existing project has been detected, and **briefly state the specific indicator you found** (e.g., "because I found a `package.json` file"). Be concise.
|
|
67
79
|
- If the `git status --porcelain` command (executed as part of Brownfield Indicators) indicated uncommitted changes, inform the user: "WARNING: You have uncommitted changes in your Git repository. Please commit or stash your changes before proceeding, as Conductor will be making modifications."
|
|
68
80
|
- **Begin Brownfield Project Initialization Protocol:**
|
|
69
81
|
- **1.0 Pre-analysis Confirmation:**
|
|
@@ -97,13 +109,13 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
|
|
|
97
109
|
4. **Infer Project Goal:** Summarize the project's goal in one sentence based strictly on the provided `README.md` header or `package.json` description.
|
|
98
110
|
- **Upon completing the brownfield initialization protocol, proceed to the Generate Product Guide section in 2.1.**
|
|
99
111
|
- **If Greenfield:**
|
|
100
|
-
- Announce that
|
|
112
|
+
- Announce that new project will be initialized, briefly noting that no existing application code or dependencies were found.
|
|
101
113
|
- Proceed to the next step in this file.
|
|
102
114
|
|
|
103
|
-
|
|
115
|
+
4. **Initialize Git Repository (for Greenfield):**
|
|
104
116
|
- If a `.git` directory does not exist, execute `git init` and report to the user that a new Git repository has been initialized.
|
|
105
117
|
|
|
106
|
-
|
|
118
|
+
5. **Inquire about Project Goal (for Greenfield):**
|
|
107
119
|
- **Ask the user the following question using the `ask_user` tool and wait for their response before proceeding to the next step:**
|
|
108
120
|
- **header:** "Project Goal"
|
|
109
121
|
- **type:** "text"
|
|
@@ -112,11 +124,9 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
|
|
|
112
124
|
- **CRITICAL: You MUST NOT execute any tool calls until the user has provided a response.**
|
|
113
125
|
- **Upon receiving the user's response:**
|
|
114
126
|
- Execute `mkdir -p conductor`.
|
|
115
|
-
- **Initialize State File:** Immediately after creating the `conductor` directory, you MUST create `conductor/setup_state.json` with the exact content:
|
|
116
|
-
`{"last_successful_step": ""}`
|
|
117
127
|
- Write the user's response into `conductor/product.md` under a header named `# Initial Concept`.
|
|
118
128
|
|
|
119
|
-
|
|
129
|
+
6. **Continue:** Immediately proceed to the next section.
|
|
120
130
|
|
|
121
131
|
### 2.1 Generate Product Guide (Interactive)
|
|
122
132
|
1. **Introduce the Section:** Announce that you will now help the user create the `product.md`.
|
|
@@ -164,9 +174,7 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
|
|
|
164
174
|
- Label: "Approve", Description: "The guide looks good, proceed to the next step."
|
|
165
175
|
- Label: "Suggest changes", Description: "I want to modify the drafted content."
|
|
166
176
|
6. **Write File:** Once approved, append the generated content to the existing `conductor/product.md` file, preserving the `# Initial Concept` section.
|
|
167
|
-
7. **
|
|
168
|
-
`{"last_successful_step": "2.1_product_guide"}`
|
|
169
|
-
8. **Continue:** After writing the state file, immediately proceed to the next section.
|
|
177
|
+
7. **Continue:** Immediately proceed to the next section.
|
|
170
178
|
|
|
171
179
|
### 2.2 Generate Product Guidelines (Interactive)
|
|
172
180
|
1. **Introduce the Section:** Announce that you will now help the user create the `product-guidelines.md`.
|
|
@@ -214,9 +222,7 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
|
|
|
214
222
|
- Label: "Approve", Description: "The guidelines look good, proceed to the next step."
|
|
215
223
|
- Label: "Suggest changes", Description: "I want to modify the drafted content."
|
|
216
224
|
6. **Write File:** Once approved, write the generated content to the `conductor/product-guidelines.md` file.
|
|
217
|
-
7. **
|
|
218
|
-
`{"last_successful_step": "2.2_product_guidelines"}`
|
|
219
|
-
8. **Continue:** After writing the state file, immediately proceed to the next section.
|
|
225
|
+
7. **Continue:** Immediately proceed to the next section.
|
|
220
226
|
|
|
221
227
|
### 2.3 Generate Tech Stack (Interactive)
|
|
222
228
|
1. **Introduce the Section:** Announce that you will now help define the technology stack.
|
|
@@ -272,9 +278,7 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
|
|
|
272
278
|
- Label: "Approve", Description: "The tech stack looks good, proceed to the next step."
|
|
273
279
|
- Label: "Suggest changes", Description: "I want to modify the drafted content."
|
|
274
280
|
6. **Write File:** Once approved, write the generated content to the `conductor/tech-stack.md` file.
|
|
275
|
-
7. **
|
|
276
|
-
`{"last_successful_step": "2.3_tech_stack"}`
|
|
277
|
-
8. **Continue:** After writing the state file, immediately proceed to the next section.
|
|
281
|
+
7. **Continue:** Immediately proceed to the next section.
|
|
278
282
|
|
|
279
283
|
### 2.4 Select Guides (Interactive)
|
|
280
284
|
1. **Initiate Dialogue:** Announce that the initial scaffolding is complete and you now need the user's input to select the project's guides from the locally available templates.
|
|
@@ -317,9 +321,7 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
|
|
|
317
321
|
- **Method:** Use a single `ask_user` tool call. Dynamically split the available guides into batches of 4 options max. Create one `multiSelect: true` question for each batch.
|
|
318
322
|
|
|
319
323
|
3. **Action:** Construct and execute a command to create the directory and copy all selected files. For example: `mkdir -p conductor/code_styleguides && cp __$$CODE_AGENT_INSTALL_PATH$$__/templates/code_styleguides/python.md __$$CODE_AGENT_INSTALL_PATH$$__/templates/code_styleguides/javascript.md conductor/code_styleguides/`
|
|
320
|
-
4. **
|
|
321
|
-
`{"last_successful_step": "2.4_code_styleguides"}`
|
|
322
|
-
5. **Continue:** Immediately proceed to the next section.
|
|
324
|
+
4. **Continue:** Immediately proceed to the next section.
|
|
323
325
|
|
|
324
326
|
### 2.5 Select Workflow (Interactive)
|
|
325
327
|
1. **Copy Initial Workflow:**
|
|
@@ -365,8 +367,7 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
|
|
|
365
367
|
Is there anything else you'd like to change or add to the workflow? (Leave blank to finish or type your additional requirements).
|
|
366
368
|
|
|
367
369
|
4. **Action:** Update `conductor/workflow.md` based on all user answers from both steps.
|
|
368
|
-
|
|
369
|
-
`{"last_successful_step": "2.5_workflow"}`
|
|
370
|
+
|
|
370
371
|
|
|
371
372
|
### 2.6 Finalization
|
|
372
373
|
1. **Generate Index File:**
|
|
@@ -389,7 +390,7 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
|
|
|
389
390
|
```
|
|
390
391
|
- **Announce:** "Created `conductor/index.md` to serve as the project context index."
|
|
391
392
|
|
|
392
|
-
2. **Summarize Actions:** Present a summary of all actions taken during
|
|
393
|
+
2. **Summarize Actions:** Present a summary of all actions taken during the initial setup, including:
|
|
393
394
|
- The guide files that were copied.
|
|
394
395
|
- The workflow file that was copied.
|
|
395
396
|
3. **Transition to initial plan and track generation:** Announce that the initial setup is complete and you will now proceed to define the first track for the project.
|
|
@@ -399,6 +400,8 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
|
|
|
399
400
|
## 3.0 INITIAL PLAN AND TRACK GENERATION
|
|
400
401
|
**PROTOCOL: Interactively define project requirements, propose a single track, and then automatically create the corresponding track and its phased plan.**
|
|
401
402
|
|
|
403
|
+
**Pre-Requisite (Cleanup):** If you are resuming this section because a previous setup was interrupted, check if the `conductor/tracks/` directory exists but is incomplete. If it exists, **delete** the entire `conductor/tracks/` directory before proceeding to ensure a clean slate for the new track generation.
|
|
404
|
+
|
|
402
405
|
### 3.1 Generate Product Requirements (Interactive)(For greenfield projects only)
|
|
403
406
|
1. **Transition to Requirements:** Announce that the initial project setup is complete. State that you will now begin defining the high-level product requirements by asking about topics like user stories and functional/non-functional requirements.
|
|
404
407
|
2. **Analyze Context:** Read and analyze the content of `conductor/product.md` to understand the project's core concept.
|
|
@@ -485,11 +488,9 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
|
|
|
485
488
|
- [Implementation Plan](./plan.md)
|
|
486
489
|
- [Metadata](./metadata.json)
|
|
487
490
|
```
|
|
491
|
+
*(If you arrived here directly from the Audit because you are patching a missing index, write this file using the existing folder's track_id and then proceed to step d.)*
|
|
488
492
|
|
|
489
|
-
d. **
|
|
490
|
-
`{"last_successful_step": "3.3_initial_track_generated"}`
|
|
491
|
-
|
|
492
|
-
e. **Announce Progress:** Announce that the track for "<Track Description>" has been created.
|
|
493
|
+
d. **Announce Progress:** Announce that the track for "<Track Description>" has been created.
|
|
493
494
|
|
|
494
495
|
### 3.4 Final Announcement
|
|
495
496
|
1. **Announce Completion:** After the track has been created, announce that the project setup and initial track generation are complete.
|