Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
日本語の概要は準備中です。原文の説明を表示しています。
Scaffolds the config component for centralized configuration management, driven by component settings.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Scaffolds the mandatory config component for centralized configuration management. Config sections are generated based on component settings from sdd/sdd-settings.yaml. Delegate to the techpack-settings skill for the authoritative config schema — it accepts a component type (config) and returns the settings object including referenced components and environment variable mappings.
Use during project initialization to create the config component. The config component is mandatory — every SDD project has exactly one.
components/config/
├── package.json # Minimal package for workspace imports
├── tsconfig.json # TypeScript config for type exports
├── envs/
│ ├── default/
│ │ └── config.yaml # Base config (sections per component)
│ └── local/
│ └── config.yaml # Local overrides (empty)
├── schemas/
│ └── config.schema.json # Main schema (minimal)
└── types/
└── index.ts # Re-exports config types
Config sections are generated based on component settings in sdd/sdd-settings.yaml:
API Server with database:
# Settings:
- name: main-server
type: server
settings:
server_type: api
databases: [primary-db]
provides_contracts: [public-api]
# Generated config:
main-server:
port: 3000 # Business API port (has provides_contracts)
probesPort: 9090 # Health/metrics port (always)
logLevel: info # Logging level (always)
databases:
primary-db: # Section per database
host: localhost
port: 5432
name: myapp
ssl: false
Worker without database:
# Settings:
- name: background-worker
type: server
settings:
server_type: worker
databases: []
consumes_contracts: [public-api]
# Generated config:
background-worker:
probesPort: 9090 # Health/metrics port (always)
logLevel: info # Logging level (always)
queue: # Queue config for worker
url: amqp://localhost:5672
apis:
public-api: # Section per consumed contract
base_url: http://main-server:3000
Hybrid server (api + worker):
# Settings:
- name: main-server
type: server
settings:
server_type: hybrid
modes: [api, worker]
databases: [primary-db]
provides_contracts: [public-api]
# Generated config:
main-server:
port: 3000 # Business API port (has provides_contracts)
probesPort: 9090 # Health/metrics port (always)
logLevel: info # Logging level (always)
databases:
primary-db:
host: localhost
port: 5432
name: myapp
ssl: false
queue: # Queue config (has worker mode)
url: amqp://localhost:5672
# Settings:
- name: admin-dashboard
type: webapp
settings:
contracts: [public-api]
# Generated config:
admin-dashboard:
apis:
public-api: # Section per consumed contract
base_url: http://localhost:3000
| Setting | Config Impact |
|---|---|
server_type: api | Adds port: 3000 (business API) |
server_type: worker | Adds queue: { url: ... } |
server_type: cron | Adds schedule: {} placeholder |
provides_contracts: [...] | Adds port: 3000 (business API) |
consumes_contracts: [...] | Adds apis: { <name>: { base_url: ... } } per contract |
databases: [...] | Adds databases: { <name>: { host, port, name, ssl } } per database |
contracts: [...] (webapp) | Adds apis: { <name>: { base_url: ... } } per contract |
probesPort: 9090 - Health check and metrics endpointlogLevel: info - Logging levelThe config component is a minimal TypeScript project with no runtime code. It exists so:
@{project}/config/types/sdd I want to generate config) generates merged configs for each environmentEach environment has its own directory under envs/:
| Directory | Purpose |
|---|---|
envs/default/ | Base configuration - all environments inherit from this |
envs/local/ | Local development overrides (always present) |
envs/{env}/ | Other environments added as needed (staging, production, etc.) |
Merge order: envs/default/ → envs/{env}/
| Variable | Description |
|---|---|
{{PROJECT_NAME}} | Project name (lowercase, hyphens) |
All templates are colocated in this skill's templates/ directory:
skills/components/config/config-scaffolding/templates/
├── package.json
├── tsconfig.json
├── envs/
│ ├── default/
│ │ └── config.yaml
│ └── local/
│ └── config.yaml
├── schemas/
│ └── config.schema.json
└── types/
└── index.ts
When settings change (via /sdd with natural language about settings), the config component is automatically synced:
The config component uses the engine for base template structure, but config section generation is dynamic (computed from component settings by the skill).
<plugin-root>/fullstack-typescript/system/system-run.sh scaffolding apply --spec spec.json
{
"target_dir": "<project-root>",
"base_dir": "<plugin-root>/skills",
"variables": { "PROJECT_NAME": "<project-name>" },
"operations": [
{
"type": "template_dir",
"source": "components/config/config-scaffolding/templates",
"dest": "components/config"
}
]
}
For each component, the skill computes the YAML config section content and writes it via write_file with if_exists: "skip" (additive only — never clobber existing sections). The skill builds the YAML content itself, then passes it to the engine.
{
"type": "write_file",
"path": "components/config/envs/default/config.yaml",
"content": "<computed-yaml-content>",
"if_exists": "overwrite"
}
Split: Use the engine for the component directory structure. Compute config sections yourself (from component settings) and write them via write_file.
Schema: schemas/input.schema.json
Accepts the full list of project components whose settings drive dynamic config section generation.
Schema: schemas/output.schema.json
Returns the scaffolding engine result: created files, directories, and scripts; skipped paths; errors; and a human-readable summary.
config-standards — Generated config files must follow these standards. Defines naming conventions, validation patterns, environment-specific overrides, and TypeScript type generation rules.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
日本語の概要は準備中です。原文の説明を表示しています。
Scaffolds Node.js/TypeScript backend components with CMDO architecture, driven by component settings.
日本語の概要は準備中です。原文の説明を表示しています。
CMDO architecture standards for Node.js/TypeScript backends with strict layer separation.
日本語の概要は準備中です。原文の説明を表示しています。
Intent-to-command mappings for fullstack-typescript tech pack features.
日本語の概要は準備中です。原文の説明を表示しています。
Create change specification and implementation plan with dynamic phase generation. Supports feature, bugfix, refactor, and epic types.
日本語の概要は準備中です。原文の説明を表示しています。
Orchestrates the full change lifecycle — routes actions to phase-specific sub-files.
日本語の概要は準備中です。原文の説明を表示しています。