Configuration
The CLI uses hfg.config.json (or hfg.config.jsonc) for project-level configuration. It resolves relative to the current working directory.
Schema
jsonc
{
// Folder name mappings (defaults shown)
"folderNames": {
"components": "components",
"hooks": "hooks",
"services": "services",
"types": "types",
"validations": "validations",
"store": "store"
},
// Where features are generated
"basePath": "src/features",
// Generator definitions
"generators": {
"feature": {
"files": [
{
"template": "components/Component.tsx.hbs",
"outputPath": "components/{{PascalName}}.tsx"
}
]
}
}
}Configuration Options
| Option | Type | Default | Description |
|---|---|---|---|
folderNames | object | Built-in defaults | Map of folder identifiers to directory names |
basePath | string | "src/features" | Base directory for generated features |
generators | object | Built-in generators | Custom generator definitions |
File Naming Patterns
Use these placeholders in output paths:
| Placeholder | Example |
|---|---|
{{PascalName}} | UserProfile |
{{camelName}} | userProfile |
{{snakeName}} | user_profile |
{{upperName}} | USER_PROFILE |
Validation
Config files are validated at runtime using Zod. Run:
bash
npx heco validateTo check your configuration for errors.