Skip to content

Design Decisions ​

These decisions were made through structured design review and are final. They represent the constraints the implementation must respect.

#DecisionChoiceRationale
1Packagingnpm CLI + slash commands + agentsOne npx spexso init bootstraps everything. No manual setup.
2Spec sizingTiered — XS/S lite, M/L/XL full specPrevents overhead-kills-adoption for small tasks.
3StorageGitLab issues = truth, .spexso/index.json = local cache (~300 tok)~300 tokens passive vs ~6000 for all-markdown. No sync drift.
4WorktreesOne per issue, enforced by frameworkGuarantees isolation. No cross-contamination between features.
5AutonomyDeveloper-controlled modes: yolo / pilot / copilotDifferent tasks need different levels of human involvement.
6Code reviewCritical+High = auto-rewrite, Low = comment onlyBlocks bad code without blocking velocity on minor style issues.
7TDDStrict — tests before implementation, alwaysEnterprise quality requires it. AI is excellent at test generation.
8Finish flowPush + MR + update issue + cleanup worktree automaticallyOne command, zero manual steps, clean state for next task.
9Issue reportingAnyone reports, Claude auto-classifies type + auto-sizesZero-friction issue reporting for non-developers.
10Competitive researchWeb + SAP ecosystem + comparison + auto-create issuesCompetitive intelligence meets feature discovery.
11Context protectionHybrid: lean orchestrator + disposable subagent per taskPrevents context window explosion in long yolo sessions.
12SkillsNative .claude/skills/, user-installed. Agent = process, Skill = knowledgeSkills provide domain knowledge; agents provide choreography.
13Duplicate preventionGitLab assignment lock — assign on start, refuse if already assignedPrevents two developers working the same issue simultaneously.
14Wiki syncADRs + research to wiki via /spexso-docs. Force README.md + CHANGELOG.mdMandatory documentation with automatic wiki synchronization.
15Plan behaviorAuto-decided: yolo auto-plans silently, pilot/copilot show for approvalAll modes generate plans; difference is human checkpoint.
16Model selectionDeveloper's choice via --model flag, project default in CLAUDE.mdFlexible model selection with session-wide consistency.