ID:WORK-052Status:in-progressPriority:mediumComplexity:simpleMilestone:v0.9.0
Create-Refrakt Project Type Defaults
Summary
New projects created with create-refrakt should pre-install official packages relevant to their use case. "Starting a landing page" pre-installs @refrakt-md/marketing. "Starting a docs site" pre-installs @refrakt-md/docs. Users can remove packages they don't need or add community packages afterward.
Acceptance Criteria
create-refraktprompts for project type (or accepts it as an argument via--type)- Project type determines which official packages are pre-installed
- Pre-installed packages are added to
package.jsondependencies - Pre-installed packages are listed in
refrakt.config.jsonpackagesarray - A "blank" or "minimal" option installs no extra packages (core only)
- Template mapping covers at least: landing page → marketing, docs site → docs, blog → none (core only), storytelling → storytelling
Approach
Add a project type selector to the create-refrakt scaffold flow. Define a mapping from project type to package list. When generating package.json and refrakt.config.json, include the selected packages. The template already derives dependency versions from its own package.json at runtime, so version sync is automatic.
References
- SPEC-001 (Community Runes — New Project Defaults)