Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Standards and patterns for SDD configuration management.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Standards and patterns for SDD configuration management.
components/config/envs/default/ → envs/{env}/ merge orderSDD_CONFIG_PATH allowed for serverscomponents/config/
├── package.json # Workspace package for type imports
├── tsconfig.json # TypeScript config
├── envs/
│ ├── default/
│ │ └── config.yaml # Base configuration (always merged first)
│ ├── local/
│ │ └── config.yaml # Local development overrides
│ ├── staging/
│ │ └── config.yaml # Staging overrides (add as needed)
│ └── production/
│ └── config.yaml # Production overrides (add as needed)
├── schemas/
│ └── config.schema.json # JSON Schema for validation
└── types/
├── index.ts # Re-exports all config types
└── {component}.ts # Per-component type definitions
Secret suffix (e.g., passwordSecret)# Section names match component names
task-service: # -> components/servers/task-service/
port: 3000
task-dashboard: # -> components/webapps/task-dashboard/
apiBaseUrl: /api
taskdb: # -> components/databases/taskdb/
host: localhost
# envs/default/config.yaml
global: {} # Reserved for future cross-cutting concerns
# Each component gets a section matching its directory name
server-task-service:
port: 3000
probesPort: 9090
logLevel: info
database:
host: db.internal
port: 5432
name: taskdb
user: app
passwordSecret: task-service-db-credentials
pool: 10
webapp-task-dashboard:
apiBaseUrl: /api
features:
darkMode: true
Components are environment-agnostic. Server, frontend, database, contract components never know which environment they're running in. They receive config values and use them.
Only two places know about environments:
components/config/ - has envs/local/, envs/production/, etc.components/helm-*/ - has values-local.yaml, values-production.yaml, etc.A server component:
config.port and listens on itconfig.database.host and connects to itif (env === 'local') logicTypes are defined in components/config/types/:
// types/server.ts
export type ServerConfig = Readonly<{
port?: number;
probesPort?: number;
logLevel?: 'debug' | 'info' | 'warn' | 'error';
database?: Readonly<{
host?: string;
port?: number;
name?: string;
user?: string;
passwordSecret?: string;
pool?: number;
}>;
}>;
Components import types via workspace package:
// In server component
import type { ServerConfig } from '@my-project/config/types';
schemas/config.schema.json) validates all config{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"global": { "type": "object" },
"server-task-service": {
"type": "object",
"properties": {
"port": { "type": "number" },
"logLevel": { "enum": ["debug", "info", "warn", "error"] }
}
}
}
}
components/config/envs/default/config.yamlcomponents/config/envs/local/config.yamlcomponents/config/schemas/config.schema.jsoncomponents/config/types/{component}.ts/sdd I want to generate config
SDD_CONFIG_PATH=./local-config.yaml npm start
Config contains secret references (K8s Secret names), not values:
# In config YAML
server-task-service:
database:
host: db.production.internal
passwordSecret: "task-service-db-credentials" # K8s Secret name
At deploy time, Helm maps these references to actual secrets:
# In helm-task-service/templates/deployment.yaml
env:
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.config.database.passwordSecret }}
key: password
The application reads DB_PASSWORD from environment, not from config YAML.
Generated config files should be gitignored:
# Generated config files in server components (never commit)
components/server-*/local-config.yaml
components/server-*/*.schema.json
All envs/ directories ARE committed - they contain references only.
NODE_ENV is an infrastructure exception, not application config. It exists because third-party libraries check it for optimizations.
Application code NEVER reads NODE_ENV. It's injected by Helm for library behavior only.
| Environment | NODE_ENV | Set By |
|---|---|---|
| Local dev | Not set | (libraries default to development) |
| K8s staging | development | Helm values |
| K8s production | production | Helm values |
Validation happens:
/sdd I want to generate config time (CLI)This skill defines no input parameters or structured output.
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
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.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.