@sprouted/create-vibes
Version:
Create a new Vibes monorepo
84 lines • 2.08 kB
JSON
{
"name": "feature",
"description": "Vertical slice feature template",
"type": "feature",
"variables": [
{
"name": "featureName",
"type": "string",
"required": true,
"description": "Name of the feature (e.g., user-auth, todo-list)"
},
{
"name": "includeApi",
"type": "boolean",
"default": true,
"description": "Include API layer"
},
{
"name": "includeUi",
"type": "boolean",
"default": true,
"description": "Include UI layer"
},
{
"name": "uiFramework",
"type": "select",
"options": ["react", "react-native"],
"default": "react",
"description": "UI framework to use"
},
{
"name": "features",
"type": "array",
"default": [],
"description": "Additional features to include"
}
],
"files": [
{
"source": "index.ts.hbs",
"destination": "index.ts"
},
{
"source": "package.json.hbs",
"destination": "package.json"
},
{
"source": ".ai-metadata.json.hbs",
"destination": ".ai-metadata.json"
},
{
"source": "README.md.hbs",
"destination": "README.md"
},
{
"source": "data/models/Model.ts.hbs",
"destination": "data/models/{{pascalCase featureName}}.ts"
},
{
"source": "logic/services/Service.ts.hbs",
"destination": "logic/services/{{pascalCase featureName}}Service.ts"
},
{
"source": "api/handlers/handlers.ts.hbs",
"destination": "api/handlers/{{featureName}}Handlers.ts"
},
{
"source": "api/routes/routes.ts.hbs",
"destination": "api/routes/{{featureName}}Routes.ts"
},
{
"source": "ui/components/Component.tsx.hbs",
"destination": "ui/components/{{pascalCase featureName}}Item.tsx"
},
{
"source": "ui/screens/Screen.tsx.hbs",
"destination": "ui/screens/{{pascalCase featureName}}Screen.tsx"
},
{
"source": "tests/service.test.ts.hbs",
"destination": "tests/{{featureName}}.test.ts"
}
]
}