본문으로 건너뛰기
cccskills
무료GitHub에 공개

project-settings

Manage project settings in sdd/sdd-settings.yaml including component settings that drive scaffolding.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(4)

  • SKILL.md7.6 KB
  • schemas/input.schema.json1.1 KB
  • schemas/output.schema.json680 B
  • schemas/sdd-settings.schema.json3.8 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Project Settings

Single source of truth for the sdd/sdd-settings.yaml schema, component settings, validation rules, and directory mappings. Component types and their settings schemas are defined by the active tech pack — invoke techpacks.listComponents and techpacks.routeSkills rather than hardcoding type-specific knowledge.


Input

Schema: schemas/input.schema.json

Accepts operation type and operation-specific parameters for managing sdd-settings.yaml.

Output

Schema: schemas/output.schema.json

Returns success status, file path, and current component configurations.

Purpose

Manage the sdd/sdd-settings.yaml file that stores project configuration and component settings. Component settings are structural decisions that drive scaffolding, config initialization, and deployment.

File Location

Settings file: sdd/sdd-settings.yaml (git-tracked)

The sdd/ directory contains all SDD metadata. Create this directory if it doesn't exist.

Migration from Legacy Location

If sdd-settings.yaml exists at project root (legacy location):

  1. Create sdd/ directory
  2. Move sdd-settings.yaml to sdd/sdd-settings.yaml
  3. Delete the root file
  4. Commit the change

Quick migration command:

mkdir -p sdd && mv sdd-settings.yaml sdd/ && git add -A && git commit -m "Migrate sdd-settings.yaml to sdd/"

Schema

Formal definition: schemas/sdd-settings.schema.json (JSON Schema Draft 2020-12)

The schema defines three top-level sections: sdd (plugin metadata), project (project metadata), and components (list of typed components with settings). Component types and their settings schemas are defined by the active tech pack.

Example

sdd:
  initialized_by_plugin_version: "7.0.0"
  updated_by_plugin_version: "7.1.0"
  initialized_at: "2026-02-07 00:00:00Z"
  updated_at: "2026-02-09 14:30:00Z"

project:
  name: "my-app"
  description: "A task management SaaS application"

techpacks:
  <namespace>:
    name: <tech-pack-name>
    namespace: <namespace>
    version: "1.0.0"
    mode: internal  # or external, git
    path: <tech-pack-directory>

components:
  my-component:
    type: <type-from-tech-pack>
    techpack: <namespace>
    directory: <directory-from-tech-pack-pattern>

  other-component:
    type: <type-from-tech-pack>
    techpack: <namespace>
    directory: <directory-from-tech-pack-pattern>

Settings vs Config

AspectSettingsConfig
WhatStructural capabilitiesRuntime values
When setAt component creation, changeablePer-environment
Examplesdepends_on, component-type-specific fieldsport: 3000, replicas: 3
AffectsWhat gets scaffoldedValues in scaffolded files
Stored insdd/sdd-settings.yamlConfig component envs/ directory

Component Settings

Component types and their settings schemas are defined by the active tech pack. Core does not hardcode component type definitions.

To discover available component types and their settings schemas:

Invoke techpacks.listComponents for the active tech pack namespace.

To load type-specific settings schemas during validation:

Invoke techpacks.routeSkills with:
  namespace: <active-namespace>
  phase: implementation

The tech pack's techpack-settings skill contains the full component type definitions, settings tables per type, directory patterns, and validation rules.

Directory Structure

Component directory patterns are defined in the tech pack manifest under components.<type>.directory_pattern. Invoke techpacks.listComponents to get the directory pattern for each component type. Do NOT hardcode type→directory mappings.

Validation Rules

  • Config mandatory singleton: Every project must have exactly one config component (if the tech pack defines a config component type)
  • Component references: Cross-references between components (e.g., depends_on) must reference existing component instances
  • Tech-pack-specific validation: Additional validation rules are provided by the tech pack. Invoke techpacks.routeSkills(phase: implementation) for component-type-specific settings schemas.

Operations

Operation: create

Initialize a new settings file.

Input:

ParameterRequiredDescription
initialized_by_plugin_versionYesCurrent SDD plugin version
project_nameYesProject name
project_descriptionNoProject description
componentsYesList of components with settings

Operation: read

Load and return current settings.

Operation: update

Merge partial updates into existing settings. Triggers automatic sync of affected artifacts.

Operation: get_component_dirs

Get the actual directory names for all components.

Settings Lifecycle

┌─────────────────┐
│   /sdd (init)   │  Settings defined during project creation
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  Scaffolding    │  Settings drive what files/templates are created
│  (initial)      │  Settings drive initial config values
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  Development    │  Settings changes come from:
│                 │  - Specs (new components, capability changes)
│                 │  - Plans (implementation decisions)
│                 │  - /sdd with natural language about settings (manual adjustments)
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│  Settings Sync  │  Changes propagate to affected artifacts
│  (incremental)  │  Only adds/updates, never deletes user content
└─────────────────┘

Naming Rules

  • Names must be lowercase
  • Use hyphens, not underscores
  • No spaces allowed
  • 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)

Minimal Template

Template for initializing a new sdd/sdd-settings.yaml:

# ============================================================================
# SDD PROJECT SETTINGS - DO NOT EDIT MANUALLY
# ============================================================================
# This file is generated and maintained by SDD commands.
# To modify settings, use: /sdd with natural language about settings
# ============================================================================

sdd:
  initialized_by_plugin_version: "{{PLUGIN_VERSION}}"
  updated_by_plugin_version: "{{PLUGIN_VERSION}}"
  initialized_at: "{{CURRENT_UTC_DATETIME}}"
  updated_at: "{{CURRENT_UTC_DATETIME}}"

project:
  name: "{{PROJECT_NAME}}"

# Tech packs and components are added here during init and implementation.

techpacks:
  <namespace>:
    name: <tech-pack-name>
    namespace: <namespace>
    version: "1.0.0"
    mode: internal
    path: <tech-pack-directory>

components:
  my-component:
    type: <type-from-tech-pack>
    techpack: <namespace>
    directory: <directory-from-tech-pack-pattern>

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

LiorCohen/sdd432026년 2월 24일 업데이트

Scaffolds Node.js/TypeScript backend components with CMDO architecture, driven by component settings.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

LiorCohen/sdd432026년 2월 24일 업데이트

CMDO architecture standards for Node.js/TypeScript backends with strict layer separation.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

LiorCohen/sdd432026년 2월 24일 업데이트

Intent-to-command mappings for fullstack-typescript tech pack features.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

LiorCohen/sdd432026년 2월 24일 업데이트

Create change specification and implementation plan with dynamic phase generation. Supports feature, bugfix, refactor, and epic types.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

LiorCohen/sdd432026년 2월 24일 업데이트

Orchestrates the full change lifecycle — routes actions to phase-specific sub-files.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

LiorCohen/sdd432026년 2월 24일 업데이트

LiorCohen의 스킬 모두 보기

이 스킬의 문제 신고