mirror of
https://github.com/glittercowboy/get-shit-done
synced 2026-04-25 17:25:23 +02:00
feat(manager): add interactive command center with dependency-aware recommendations
Add /gsd:manager — a single-terminal dashboard for managing milestones. Shows all phases with visual status indicators (D/P/E columns), computes recommended next actions, and dispatches discuss inline while plan/execute run as background agents. Key behaviors: - Recommendation engine prioritizes execute > plan > discuss - Filters parallel execute/plan when phases share dependency chains - Independent phases (no direct or transitive dep relationship) CAN run in parallel — dependent phases are serialized - Dashboard shows compact Deps column for at-a-glance dependency view - Sliding window limits discuss to one phase at a time - Activity detection via file mtime (5-min window) for is_active flag New files: - commands/gsd/manager.md — skill definition - get-shit-done/workflows/manager.md — full workflow spec - get-shit-done/bin/lib/init.cjs — cmdInitManager() with phase parsing, dependency graph traversal, and recommendation filtering - get-shit-done/bin/gsd-tools.cjs — route 'init manager' to new command - tests/init-manager.test.cjs — 16 tests covering status detection, deps, sliding window, recommendations, and edge cases Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -625,7 +625,7 @@ describe('copyCommandsAsCopilotSkills', () => {
|
||||
// Count gsd-* directories — should be 31
|
||||
const dirs = fs.readdirSync(tempDir, { withFileTypes: true })
|
||||
.filter(e => e.isDirectory() && e.name.startsWith('gsd-'));
|
||||
assert.strictEqual(dirs.length, 50, `expected 50 skill folders, got ${dirs.length}`);
|
||||
assert.strictEqual(dirs.length, 51, `expected 51 skill folders, got ${dirs.length}`);
|
||||
} finally {
|
||||
fs.rmSync(tempDir, { recursive: true });
|
||||
}
|
||||
@@ -1119,7 +1119,7 @@ const { execFileSync } = require('child_process');
|
||||
const crypto = require('crypto');
|
||||
|
||||
const INSTALL_PATH = path.join(__dirname, '..', 'bin', 'install.js');
|
||||
const EXPECTED_SKILLS = 50;
|
||||
const EXPECTED_SKILLS = 51;
|
||||
const EXPECTED_AGENTS = 16;
|
||||
|
||||
function runCopilotInstall(cwd) {
|
||||
|
||||
Reference in New Issue
Block a user