Techpack Settings
Component type definitions, settings schemas, directory patterns, and validation rules for the fullstack-typescript tech pack. This skill is loaded by core's project-settings skill to provide tech-pack-specific component knowledge.
Component Types
| Type | Directory Pattern | Description | |------|-------------------|-------------| | config | components/config | Singleton configuration management | | server | components/servers/{name} | Node.js/Express backend (CMDO architecture) | | webapp | components/webapps/{name} | React/Vite frontend (MVVM architecture) | | database | components/databases/{name} | PostgreSQL database | | contract | components/contracts/{name} | OpenAPI 3.x specification | | helm | components/helm_charts/{name} | Kubernetes Helm chart | | integration-testing | components/integration-testing | Integration test suite | | e2e-testing | components/e2e-testing | E2E test suite (Playwright) | | cicd | components/cicd | CI/CD pipeline (GitHub Actions) |
Settings Schema by Type
Server Settings
| Setting | Type | Default | Description | |---------|------|---------|-------------| | server_type | api\|worker\|cron\|hybrid | api | Communication pattern(s) | | modes | (api\|worker\|cron)[] | — | For hybrid: which modes (2+ required) | | databases | string[] | [] | Database components this server uses | | provides_contracts | string[] | [] | Contracts this server implements | | consumes_contracts | string[] | [] | Contracts this server calls | | helm | boolean | true | Whether to generate helm chart |
Impact:
server_typedetermines operator lifecycle(s)databasesdrives DAL layer per database, config sectionsprovides_contractsdrives HTTP routes, Service in helm chartconsumes_contractsdrives API clients, config sectionshelm: falseskips helm chart scaffolding
Webapp Settings
| Setting | Type | Default | Description | |---------|------|---------|-------------| | contracts | string[] | [] | Contracts this webapp uses | | helm | boolean | true | Whether to generate helm chart |
Impact:
contractsdrives API clients, config sections
Helm Settings
| Setting | Type | Default | Description | |---------|------|---------|-------------| | deploys | string | — | Component to deploy (required) | | deploy_type | server\|webapp | — | Type being deployed (required) | | deploy_modes | (api\|worker\|cron)[] | — | For servers: which modes | | ingress | boolean | true | External HTTP access | | assets | bundled\|entrypoint | bundled | For webapps: asset strategy |
Impact:
deploy_modescreates separate deployments for multi-mode serversingressincludes/excludes ingress.yamlassetsdetermines webapp build strategy
Database Settings
| Setting | Type | Default | Description | |---------|------|---------|-------------| | provider | postgresql | postgresql | Database provider | | dedicated | boolean | false | Needs own DB server |
Contract Settings
| Setting | Type | Default | Description | |---------|------|---------|-------------| | visibility | public\|internal | internal | External consumers allowed |
Config Settings
Config component has no settings (it is a singleton).
Testing Settings
Testing components (integration-testing, e2e-testing) have no settings. Structure is driven by testing standards skills.
CI/CD Settings
CI/CD component has no settings. Structure is driven by the cicd-standards skill.
Validation Rules
- Config is a mandatory singleton — every project must have exactly one
configcomponent. - Database references must exist — any name in a server's
databasesarray must match an existingdatabasecomponent. - Contract references must exist — any name in
provides_contracts,consumes_contracts, orcontractsmust match an existingcontractcomponent. - Helm
deploysmust reference existing component — thedeploysfield must reference an existingserverorwebappcomponent. - Helm
deploy_modesmust be valid — each mode indeploy_modesmust be a valid mode for the referenced server'sserver_type(e.g., a server withserver_type: apicannot havedeploy_modes: [worker]).
Naming Rules
- Names must be lowercase
- Use hyphens, not underscores or spaces
- Names should be multi-word and domain-specific
- Good:
order-service,analytics-db,customer-portal,task-api - Avoid:
api,public,primary,main,server - Exception:
config(singleton)
Input / Output
This skill defines no input parameters or structured output.