techpack-settings
Component type definitions, settings schemas, directory patterns, and validation rules for the fullstack-typescript tech pack.
Files1
View on GitHubSKILL.mdplugin/fullstack-typescript/skills/techpack-settings/SKILL.md
GitHubTechpack 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
- Good:
- Exception:
config(singleton)
Input / Output
This skill defines no input parameters or structured output.