68 lines
1.8 KiB
YAML
68 lines
1.8 KiB
YAML
name: "React App Generator"
|
|
description: "Generates a complete React application with pages, components, and API integration"
|
|
outputs:
|
|
# Generate public pages
|
|
- path: "src/pages/{{.Page.Name}}.tsx"
|
|
template: "page-public"
|
|
iterator: "pages"
|
|
item_context: "Page"
|
|
condition: "layout_public"
|
|
|
|
# Generate admin pages
|
|
- path: "src/pages/admin/{{.Page.Name}}.tsx"
|
|
template: "page-admin"
|
|
iterator: "pages"
|
|
item_context: "Page"
|
|
condition: "layout_admin"
|
|
|
|
# Generate component files for each section
|
|
- path: "src/components/sections/{{.Section.Name | title}}Section.tsx"
|
|
template: "section-component"
|
|
iterator: "sections"
|
|
item_context: "Section"
|
|
|
|
# Generate component files for each component
|
|
- path: "src/components/{{.Component.Type | title}}Component.tsx"
|
|
template: "react-component"
|
|
iterator: "components"
|
|
item_context: "Component"
|
|
|
|
# Generate API clients per entity
|
|
- path: "src/api/{{.Entity.Name | lower}}.ts"
|
|
template: "api-client"
|
|
iterator: "entities"
|
|
item_context: "Entity"
|
|
|
|
# Generate TypeScript types per entity
|
|
- path: "src/types/{{.Entity.Name}}.ts"
|
|
template: "typescript-types"
|
|
iterator: "entities"
|
|
item_context: "Entity"
|
|
|
|
# Single files - global configuration
|
|
- path: "src/router.tsx"
|
|
template: "react-router"
|
|
condition: "has_pages"
|
|
|
|
- path: "src/api/client.ts"
|
|
template: "api-base"
|
|
condition: "has_entities"
|
|
|
|
- path: "package.json"
|
|
template: "package-json"
|
|
|
|
- path: "src/App.tsx"
|
|
template: "app-component"
|
|
condition: "has_pages"
|
|
|
|
- path: "src/index.tsx"
|
|
template: "index"
|
|
|
|
# Add the missing index.html file
|
|
- path: "public/index.html"
|
|
template: "index-html"
|
|
|
|
# Add TypeScript configuration file
|
|
- path: "tsconfig.json"
|
|
template: "tsconfig"
|