--- name: sdlc-list-stacks description: List all stack profiles in the codex-sdlc registry, with priority, aspects and detection rules. Useful for verifying setup and debugging stack auto-detection. --- # $sdlc-list-stacks List every bundled stack profile and show the exact aspect-level decision for the current project. ## What this command does 1. Resolve `SDLC_HOME` from `PLUGIN_ROOT` or `$CODEX_HOME/sdlc-home`. 2. Run `python3 {SDLC_HOME}/scripts/detect-stack.py --repo .` and parse its JSON. 3. Read the profile files only to render their detection rules. Use the JSON's `matched_profiles`, `active_profiles`, `aspect_ties`, provider closure, agents and skills as the decision; do not reimplement detection in the model. 4. Print a concise profile table, then the aspect winners and provider closure. ## Output format ``` Stack profiles found: 🎯 vanilla priority=0 (always matches) ← active fallback 🎯 laravel priority=100 matches: composer.json + laravel/framework 🎯 django priority=100 no match: manage.py not present Active aspects: backend=laravel, database=laravel, frontend=inertia-vue Providers: sdlc, php-foundation, laravel-plugin, js-foundation, vue-plugin, inertia-vue-plugin Override with: $sdlc-start --stack=NAME "" ``` If no profiles found except vanilla: ``` Only the vanilla profile matched. Add or adjust a profile under the distribution's `stacks/` directory when this project needs a new provider. ``` ## When to use - After installing a new stack plugin — verify the profile is picked up. - When `$sdlc-start` chose the wrong stack — debug detection rules. - Before running a pipeline on a new project — confirm what will run. ## Instructions Be concise. Print the table as plain text (no markdown table syntax — that renders poorly in chat). Mark the active profile with `← active`. If multiple profiles share the same priority and all match, mark them all and warn about ambiguity.