agileflow 2.95.2 → 2.96.0
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 +10 -0
- package/README.md +6 -6
- package/lib/api-routes.js +605 -0
- package/lib/api-server.js +260 -0
- package/lib/claude-cli-bridge.js +221 -0
- package/lib/dashboard-protocol.js +541 -0
- package/lib/dashboard-server.js +1601 -0
- package/lib/drivers/claude-driver.ts +310 -0
- package/lib/drivers/codex-driver.ts +454 -0
- package/lib/drivers/driver-manager.ts +158 -0
- package/lib/drivers/gemini-driver.ts +485 -0
- package/lib/drivers/index.ts +17 -0
- package/lib/flag-detection.js +350 -0
- package/lib/git-operations.js +267 -0
- package/lib/lock-file.js +144 -0
- package/lib/merge-operations.js +959 -0
- package/lib/protocol/driver.ts +360 -0
- package/lib/protocol/index.ts +12 -0
- package/lib/protocol/ir.ts +271 -0
- package/lib/session-display.js +330 -0
- package/lib/worktree-operations.js +221 -0
- package/package.json +2 -2
- package/scripts/agileflow-welcome.js +272 -24
- package/scripts/api-server-runner.js +177 -0
- package/scripts/archive-completed-stories.sh +22 -0
- package/scripts/automation-run-due.js +126 -0
- package/scripts/backfill-ideation-status.js +124 -0
- package/scripts/claude-tmux.sh +62 -1
- package/scripts/context-loader.js +292 -0
- package/scripts/dashboard-serve.js +323 -0
- package/scripts/lib/automation-registry.js +544 -0
- package/scripts/lib/automation-runner.js +476 -0
- package/scripts/lib/concurrency-limiter.js +513 -0
- package/scripts/lib/configure-features.js +46 -0
- package/scripts/lib/context-formatter.js +61 -0
- package/scripts/lib/damage-control-utils.js +29 -4
- package/scripts/lib/hook-metrics.js +324 -0
- package/scripts/lib/ideation-index.js +1196 -0
- package/scripts/lib/process-cleanup.js +359 -0
- package/scripts/lib/quality-gates.js +574 -0
- package/scripts/lib/status-task-bridge.js +522 -0
- package/scripts/lib/sync-ideation-status.js +292 -0
- package/scripts/lib/task-registry-cache.js +490 -0
- package/scripts/lib/task-registry.js +1181 -0
- package/scripts/migrate-ideation-index.js +515 -0
- package/scripts/precompact-context.sh +104 -0
- package/scripts/ralph-loop.js +2 -2
- package/scripts/session-manager.js +363 -2770
- package/scripts/spawn-parallel.js +45 -9
- package/src/core/agents/api-validator.md +180 -0
- package/src/core/agents/api.md +2 -0
- package/src/core/agents/code-reviewer.md +289 -0
- package/src/core/agents/configuration/damage-control.md +17 -0
- package/src/core/agents/database.md +2 -0
- package/src/core/agents/error-analyzer.md +203 -0
- package/src/core/agents/logic-analyzer-edge.md +171 -0
- package/src/core/agents/logic-analyzer-flow.md +254 -0
- package/src/core/agents/logic-analyzer-invariant.md +207 -0
- package/src/core/agents/logic-analyzer-race.md +267 -0
- package/src/core/agents/logic-analyzer-type.md +218 -0
- package/src/core/agents/logic-consensus.md +256 -0
- package/src/core/agents/orchestrator.md +89 -1
- package/src/core/agents/schema-validator.md +451 -0
- package/src/core/agents/team-coordinator.md +328 -0
- package/src/core/agents/ui-validator.md +328 -0
- package/src/core/agents/ui.md +2 -0
- package/src/core/commands/api.md +267 -0
- package/src/core/commands/automate.md +415 -0
- package/src/core/commands/babysit.md +290 -9
- package/src/core/commands/ideate/history.md +403 -0
- package/src/core/commands/{ideate.md → ideate/new.md} +244 -34
- package/src/core/commands/logic/audit.md +368 -0
- package/src/core/commands/roadmap/analyze.md +1 -1
- package/src/core/experts/documentation/expertise.yaml +29 -2
- package/src/core/templates/CONTEXT.md.example +49 -0
- package/src/core/templates/claude-settings.advanced.example.json +4 -0
- package/tools/cli/commands/serve.js +456 -0
- package/tools/cli/installers/core/installer.js +7 -2
- package/tools/cli/installers/ide/claude-code.js +85 -0
- package/tools/cli/lib/content-injector.js +27 -1
- package/tools/cli/lib/ui.js +26 -57
package/tools/cli/lib/ui.js
CHANGED
|
@@ -103,26 +103,21 @@ const IDE_CHOICES = IdeRegistry.getChoices();
|
|
|
103
103
|
|
|
104
104
|
/**
|
|
105
105
|
* Prompt for installation configuration
|
|
106
|
+
* Streamlined to ask only essential questions - uses smart defaults for the rest.
|
|
106
107
|
* @returns {Promise<Object>} Installation configuration
|
|
107
108
|
*/
|
|
108
109
|
async function promptInstall() {
|
|
109
110
|
displayLogo();
|
|
110
111
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if (!fs.existsSync(parent)) {
|
|
121
|
-
return `Parent directory does not exist: ${parent}`;
|
|
122
|
-
}
|
|
123
|
-
return true;
|
|
124
|
-
},
|
|
125
|
-
},
|
|
112
|
+
// Always install to current directory
|
|
113
|
+
const directory = path.resolve('.');
|
|
114
|
+
|
|
115
|
+
// Check if docs/ folder already exists (conflict detection)
|
|
116
|
+
const defaultDocsFolder = 'docs';
|
|
117
|
+
const docsExists = fs.existsSync(path.join(directory, defaultDocsFolder));
|
|
118
|
+
|
|
119
|
+
// Build questions dynamically - only ask what's necessary
|
|
120
|
+
const questions = [
|
|
126
121
|
{
|
|
127
122
|
type: 'checkbox',
|
|
128
123
|
name: 'ides',
|
|
@@ -135,59 +130,33 @@ async function promptInstall() {
|
|
|
135
130
|
return true;
|
|
136
131
|
},
|
|
137
132
|
},
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
},
|
|
144
|
-
{
|
|
145
|
-
type: 'input',
|
|
146
|
-
name: 'agileflowFolder',
|
|
147
|
-
message: 'AgileFlow installation folder name:',
|
|
148
|
-
default: '.agileflow',
|
|
149
|
-
validate: input => {
|
|
150
|
-
if (!/^[a-zA-Z0-9._-]+$/.test(input)) {
|
|
151
|
-
return 'Folder name can only contain letters, numbers, dots, underscores, and hyphens';
|
|
152
|
-
}
|
|
153
|
-
return true;
|
|
154
|
-
},
|
|
155
|
-
},
|
|
156
|
-
{
|
|
133
|
+
];
|
|
134
|
+
|
|
135
|
+
// Only ask about docs folder if it already exists (potential conflict)
|
|
136
|
+
if (docsExists) {
|
|
137
|
+
questions.push({
|
|
157
138
|
type: 'input',
|
|
158
139
|
name: 'docsFolder',
|
|
159
|
-
message: '
|
|
160
|
-
default: 'docs',
|
|
140
|
+
message: `A 'docs/' folder already exists. Use a different name for AgileFlow docs?`,
|
|
141
|
+
default: 'agileflow-docs',
|
|
161
142
|
validate: input => {
|
|
162
143
|
if (!/^[a-zA-Z0-9._-]+$/.test(input)) {
|
|
163
144
|
return 'Folder name can only contain letters, numbers, dots, underscores, and hyphens';
|
|
164
145
|
}
|
|
165
146
|
return true;
|
|
166
147
|
},
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
message: 'Create/update .gitignore with recommended entries?',
|
|
172
|
-
default: true,
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
type: 'confirm',
|
|
176
|
-
name: 'claudeMdReinforcement',
|
|
177
|
-
message:
|
|
178
|
-
'Add /babysit AskUserQuestion rules to CLAUDE.md? (recommended for context preservation)',
|
|
179
|
-
default: true,
|
|
180
|
-
},
|
|
181
|
-
]);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
const answers = await inquirer.prompt(questions);
|
|
182
152
|
|
|
183
153
|
return {
|
|
184
|
-
directory
|
|
154
|
+
directory,
|
|
185
155
|
ides: answers.ides,
|
|
186
|
-
userName:
|
|
187
|
-
agileflowFolder:
|
|
188
|
-
docsFolder: answers.docsFolder,
|
|
189
|
-
updateGitignore:
|
|
190
|
-
claudeMdReinforcement: answers.claudeMdReinforcement,
|
|
156
|
+
userName: 'Developer', // Smart default - rarely customized
|
|
157
|
+
agileflowFolder: '.agileflow', // Smart default - never changed
|
|
158
|
+
docsFolder: answers.docsFolder || defaultDocsFolder,
|
|
159
|
+
updateGitignore: true, // Smart default - always want this
|
|
191
160
|
};
|
|
192
161
|
}
|
|
193
162
|
|