{
  "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"
    }
  ]
}