Better T Stack is a project scaffolding CLI that turns a stack selection into a reproducible TypeScript starter project.
Project Configuration: A complete selection of stack choices used to scaffold one project. Avoid: Config blob, options bag
Core Stack: The primary framework and infrastructure choices that define the generated project's shape. Avoid: Main options, basics
Addon: An optional capability layered onto a generated project without changing the core stack identity. Avoid: Plugin, extra
Example: A generated sample feature included to demonstrate the selected stack. Avoid: Demo, sample app
Exhaustive Matrix: The set of all meaningful core-stack combinations after normalizing unordered selections. Avoid: All permutations
Addon Compatibility Coverage: Focused coverage proving addon rules, interactions, and representative generated output without crossing every addon subset through the exhaustive matrix. Avoid: Addon exhaustive product
Input Shape: The structural form of user-provided CLI input before it is normalized into a project configuration. Avoid: Edge case, weird input
Virtual Generation: Generation of the project tree in memory without writing the scaffolded project to disk. Avoid: Dry run
Filesystem Scaffolding: Creation of the generated project on disk. Avoid: Real generation
Curated Build Set: A small representative set of generated projects that are installed, typechecked, or built. Avoid: Build every matrix case
Compatibility Oracle: A test-owned model of which project configurations should be accepted or rejected. Avoid: Validator reuse
Matrix Job: A separately runnable test job that exercises large project-configuration matrices outside the default fast test suite. Avoid: Normal test run
Default Suite: The fast test suite that runs focused unit, integration, and regression tests during ordinary development. Avoid: Main matrix
Matrix Smoke: A representative matrix slice that runs in regular CI to catch broad compatibility regressions without running the full matrix. Avoid: Mini exhaustive test
Full Matrix Job: The sharded long-running matrix job that exercises the complete normalized core-stack matrix. Avoid: Default tests
Create Path: The CLI workflow that turns a project configuration into a new scaffolded project. Avoid: Init path, generation path
Add Path: The CLI workflow that adds capabilities to an existing Better T Stack project. Avoid: Update path, addon install path
MCP Surface: The Model Context Protocol server and tools that expose Better T Stack planning, creation, addon, guidance, and schema operations to agents. Avoid: MCP addon
- A Project Configuration contains one Core Stack
- A Project Configuration may include zero or more Addons
- A Project Configuration may include zero or more Examples
- The Exhaustive Matrix covers Core Stack combinations
- Addon Compatibility Coverage covers addon-specific rules outside the exhaustive matrix
- Input Shape checks validate raw CLI input before project-configuration behavior is evaluated
- Virtual Generation and Filesystem Scaffolding are two ways to exercise project generation
- A Curated Build Set proves generated projects compile without building every matrix case
- A Compatibility Oracle predicts expected pass/fail before production validation runs
- A Matrix Job provides broad confidence without making the default test suite slow
- The Default Suite, Matrix Smoke, and Full Matrix Job are the three testing tiers
- The Create Path owns exhaustive project-configuration coverage
- The Add Path has a focused suite over existing-project state and addon behavior
- The MCP Surface is a critical CLI surface alongside the Create Path and Add Path
- The MCP Surface uses focused contract coverage instead of participating in the Full Matrix Job
Dev: "Should the exhaustive tests include every order of addons?" Domain expert: "No. The Exhaustive Matrix covers normalized Project Configurations; addon ordering is an Input Shape concern."
- "all possible combinations" was ambiguous between literal permutations and meaningful stack selections; resolved: use the Exhaustive Matrix for normalized core-stack combinations, with separate Input Shape tests for ordering, duplicates, and invalid
nonemixtures. - "all addon combinations" was ambiguous between rule coverage and a full addon-subset product; resolved: use Addon Compatibility Coverage instead of crossing every addon subset through the Exhaustive Matrix.
- "all tests" was ambiguous between the default test suite and long-running exhaustive coverage; resolved: use a separate Matrix Job for broad matrix coverage.
- "test the MCP" was ambiguous between matrix participation and protocol contract coverage; resolved: the MCP Surface gets focused contract coverage.
- "complete CLI tests" was ambiguous between new-project creation and adding to existing projects; resolved: the Create Path gets exhaustive matrix coverage first, while the Add Path gets a focused complete suite.