Guided wizard to generate GitLab CI/CD configuration with framework-first evaluation
Generates GitLab CI/CD configurations using framework-first evaluation and guided wizard.
/plugin marketplace add rafaelcalleja/claude-market-place/plugin install gitlab-tbc@claude-market-placeFIRST: Load the building-with-tbc skill using the Skill tool.
The skill contains the Framework-First Principle and all knowledge. Follow this principle strictly.
NO decisions can be made until this phase completes.
Read references/component-decision.md for the complete process. Execute all 4 sub-phases:
schemas/_meta.json┌──────────────────────────────────────────────────────────────────────┐
│ Template Inventory (from _meta.json) │
├──────────────────┬────────────────────┬──────────────────────────────┤
│ Component │ Project │ Variants │
├──────────────────┼────────────────────┼──────────────────────────────┤
│ [name] │ [project path] │ [variant1, variant2, ...] │
│ ... │ ... │ ... │
└──────────────────┴────────────────────┴──────────────────────────────┘
For EACH template that could match the user need:
Build URL from _meta.json:
https://gitlab.com/{project}/-/raw/{version}/{file}
Download with WebFetch
Analyze YML content and output:
┌────────────────────────────────────────────────────┐
│ Template: [name] │
│ Source: [URL downloaded from] │
├────────────────────────────────────────────────────┤
│ YML Analysis: │
│ Docker Image: [image:tag] │
│ Tools Invoked: [tools from YML] │
│ Commands Used: [specific commands in scripts] │
├────────────────────────────────────────────────────┤
│ Schema Inputs (from schemas/{name}.json): │
│ - [input] (required/optional): [description] │
├────────────────────────────────────────────────────┤
│ Extension Points (from YML): │
│ - [scripts-dir, before_script, etc.] │
├────────────────────────────────────────────────────┤
│ Variants: [from references/variantes.md] │
└────────────────────────────────────────────────────┘
MUST read references/variantes.md COMPLETELY. Cannot skip.
references/variantes.md)┌────────────────────────────────────────────────────────────────┐
│ Variant Analysis (from references/variantes.md) │
├────────────────────────────────────────────────────────────────┤
│ Variants for matching template: │
│ - [variant-1]: [what it adds] │
│ - None available: ❌ │
├────────────────────────────────────────────────────────────────┤
│ Variant PATTERNS in other templates: │
│ - [pattern-1]: exists in [templates] │
│ - [pattern-2]: exists in [templates] │
├────────────────────────────────────────────────────────────────┤
│ Could pattern be applied? │
│ - [pattern]: ✅/❌ [reason] │
└────────────────────────────────────────────────────────────────┘
MUST use WebSearch for EACH tool identified in Phase 0.2:
"{tool} official documentation {version}"┌────────────────────────────────────────────────────┐
│ Tool: [name] │
├────────────────────────────────────────────────────┤
│ Official Docs: [URL] │
│ Version in TBC: [version from YML] │
├────────────────────────────────────────────────────┤
│ ALL Capabilities (from docs): │
│ - [capability 1] │
│ - [capability 2] │
├────────────────────────────────────────────────────┤
│ What TBC Template Uses: │
│ - [commands from YML analysis] │
├────────────────────────────────────────────────────┤
│ Available via extension points: │
│ - [what can be done via scripts-dir, etc.] │
└────────────────────────────────────────────────────┘
Compare user need vs findings, following Priority 1-6 hierarchy:
┌─────────────────────────────────────────────────────────────────┐
│ Cross-Reference Analysis │
├─────────────────────────────────────────────────────────────────┤
│ User Need: [description] │
├─────────────────────────────────────────────────────────────────┤
│ Priority 1 - Template Direct: │
│ - [template]: ✅ Covers 100% / ❌ Missing: [what] │
├─────────────────────────────────────────────────────────────────┤
│ Priority 2 - Template + Existing Variant: │
│ - [template] + [variant]: ✅ Covers / ❌ Still missing: [what]│
├─────────────────────────────────────────────────────────────────┤
│ Priority 3 - Variant Pattern from Other Template: │
│ - Pattern [name] from [other-template] │
│ - Could apply? ✅/❌ Would solve need? ✅/❌ │
├─────────────────────────────────────────────────────────────────┤
│ Priority 4 - New Component: ✅/❌ [reason] │
├─────────────────────────────────────────────────────────────────┤
│ Priority 5 - New Component + Variant: ✅/❌ [reason] │
├─────────────────────────────────────────────────────────────────┤
│ Priority 6 - Custom Step: Why 1-5 ALL failed: [reasons] │
├─────────────────────────────────────────────────────────────────┤
│ DECISION: Priority [N] - [solution] │
│ Evidence: [sources] │
└─────────────────────────────────────────────────────────────────┘
Only after ALL 5 phases complete with REAL data, proceed to Phase 2.
Use AskUserQuestion to configure:
Include Mode (multiSelect: false)
Version Mode (multiSelect: false)
Detail Level (multiSelect: false)
Custom Stages (multiSelect: false)
For each category, following the skill's instructions:
| Step | Category | Selection | Reference File |
|---|---|---|---|
| 1 | Build | Single | build-templates.md |
| 2 | Code Analysis | Multiple | analysis-templates.md |
| 3 | Packaging | Single | analysis-templates.md |
| 4 | Infrastructure | Single | deployment-templates.md |
| 5 | Deployment | Single | deployment-templates.md |
| 6 | Acceptance | Multiple | analysis-templates.md |
| 7 | Other | Multiple | analysis-templates.md |
For each step:
.gitlab-ci.yml following the skill's configuration formattbc:validate before presenting✓ TBC Configuration Generated
[Generated YAML]
---
Secret Variables (configure in GitLab CI/CD Settings):
- VARIABLE_NAME: Description
---
Next Steps:
1. Copy to .gitlab-ci.yml
2. Configure secret variables in GitLab
3. Commit and push