You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: commands/conductor/setup.toml
+32-17Lines changed: 32 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -31,20 +31,24 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
31
31
- `tech-stack.md`
32
32
- `code_styleguides/`
33
33
- `workflow.md`
34
-
- `tracks/`
34
+
- `index.md`
35
+
- `tracks/*/` (specifically `plan.md` and `index.md`)
35
36
36
-
2. **Determine Entry Point:** Map the project's state to the starting section using the following priority table (highest match wins):
37
+
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.
| `tracks/` | **HALT** | "The project is already initialized. Use `/conductor:newTrack` or `/conductor:implement`." |
41
-
| `workflow.md` | **Section 3.0** | "Resuming setup: Scaffolding is complete. Next: generate the first track." |
41
+
| All files in `tracks/<track_id>/` (`spec`, `plan`, `metadata`, `index`) | **HALT** | "The project is already initialized. Use `/conductor:newTrack` or `/conductor:implement`." |
42
+
| `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)." |
- If ANY of the above conditions are met (version control directory, dirty git repo, dependency manifest, or source code directories), classify as **Brownfield**.
62
+
- Check for dependency manifests: `package.json`, `pom.xml`, `requirements.txt`, `go.mod`, `Cargo.toml`.
- 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.
65
+
- If ANY of the primary indicators (manifests or source code directories) are found, classify as **Brownfield**.
63
66
- **Greenfield Condition:**
64
-
- Classify as **Greenfield** ONLY if NONE of the "Brownfield Indicators" are found AND the current directory is empty or contains only generic documentation (e.g., a single `README.md` file) without functional code or dependencies.
67
+
- Classify as **Greenfield** ONLY if:
68
+
1. NONE of the "Brownfield Indicators" are found.
69
+
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`).
70
+
65
71
66
-
2. **Execute Workflow based on Maturity:**
72
+
2. **Resume Fast-Forward Check:**
73
+
- If the **Target Section** (from 1.2) is anything other than "Section 2.0":
74
+
- 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.
75
+
- **IMMEDIATELY JUMP** to the Target Section. Do not execute the rest of Section 2.0.
76
+
- If the Target Section is "Section 2.0", proceed to step 3.
77
+
78
+
3. **Execute Workflow based on Maturity:**
67
79
- **If Brownfield:**
68
-
- Announce that an existing project has been detected.
80
+
- 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.
69
81
- 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."
@@ -99,13 +111,13 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
99
111
4. **Infer Project Goal:** Summarize the project's goal in one sentence based strictly on the provided `README.md` header or `package.json` description.
100
112
- **Upon completing the brownfield initialization protocol, proceed to the Generate Product Guide section in 2.1.**
101
113
- **If Greenfield:**
102
-
- Announce that a new project will be initialized.
114
+
- Announce that new project will be initialized, briefly noting that no existing application code or dependencies were found.
- If a `.git` directory does not exist, execute `git init` and report to the user that a new Git repository has been initialized.
107
119
108
-
4. **Inquire about Project Goal (for Greenfield):**
120
+
5. **Inquire about Project Goal (for Greenfield):**
109
121
- **Ask the user the following question using the `ask_user` tool and wait for their response before proceeding to the next step:**
110
122
- **header:** "Project Goal"
111
123
- **type:** "text"
@@ -116,7 +128,7 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
116
128
- Execute `mkdir -p conductor`.
117
129
- Write the user's response into `conductor/product.md` under a header named `# Initial Concept`.
118
130
119
-
5. **Continue:** Immediately proceed to the next section.
131
+
6. **Continue:** Immediately proceed to the next section.
120
132
121
133
### 2.1 Generate Product Guide (Interactive)
122
134
1. **Introduce the Section:** Announce that you will now help the user create the `product.md`.
@@ -390,6 +402,8 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
390
402
## 3.0 INITIAL PLAN AND TRACK GENERATION
391
403
**PROTOCOL: Interactively define project requirements, propose a single track, and then automatically create the corresponding track and its phased plan.**
392
404
405
+
**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.
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.
395
409
2. **Analyze Context:** Read and analyze the content of `conductor/product.md` to understand the project's core concept.
@@ -476,6 +490,7 @@ CRITICAL: When determining model complexity, ALWAYS select the "flash" model, re
476
490
- [Implementation Plan](./plan.md)
477
491
- [Metadata](./metadata.json)
478
492
```
493
+
*(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.)*
479
494
480
495
d. **Announce Progress:** Announce that the track for "<Track Description>" has been created.
0 commit comments