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

project-scaffolding

Scaffolds project-level structure (root files, specs).

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

설치 방법 보기

포함된 파일(6)

  • SKILL.md6.2 KB
  • schemas/input.schema.json983 B
  • schemas/output.schema.json597 B
  • templates/changes/INDEX.md295 B
  • templates/specs/glossary.md298 B
  • templates/specs/SNAPSHOT.md276 B

SKILL.md(원문)

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

Project Scaffolding Skill

Creates the non-component parts of an SDD project: root files and specs directory.

Modes

Minimal Mode (Default for /sdd I want to initialize a new project)

Creates only the essential structure needed to start. Additional components are scaffolded during implementation when the plan includes a scaffolding phase.

mode: minimal
project_name: my-app
target_dir: /path/to/project

Creates:

project/
├── sdd/
│   └── sdd-settings.yaml     # Minimal settings
├── specs/
│   └── INDEX.md              # Empty spec registry
├── package.json              # Root project (from tech pack template)
├── README.md
├── CLAUDE.md
└── .gitignore

NOT created in minimal mode:

  • changes/ directory
  • specs/domain/ subdirectories
  • specs/architecture/
  • specs/SNAPSHOT.md

Full Mode (Legacy)

Creates the complete structure. Used when upgrading or explicitly requested.

mode: full
project_name: my-app
project_description: My application
primary_domain: Task Management
target_dir: /path/to/project

Creates:

project/
├── sdd/
│   └── sdd-settings.yaml
├── specs/
│   ├── INDEX.md
│   ├── SNAPSHOT.md
│   └── domain/
│       ├── glossary.md
│       ├── definitions/
│       └── use-cases/
├── changes/
│   └── INDEX.md
├── README.md
├── CLAUDE.md
├── package.json
└── .gitignore

Non-Destructive Behavior (CRITICAL)

This skill NEVER overwrites existing files:

  • Before writing any file, check if it exists
  • If exists: skip (log that file was skipped)
  • If missing: create

This makes it safe to run multiple times for repair/upgrade scenarios.

When to Use

Use during:

  • /sdd I want to initialize a new project in minimal mode
  • Upgrade/repair workflows in full mode

Template Variables

VariableDescription
{{PROJECT_NAME}}Project name (lowercase, hyphens)
{{PROJECT_DESCRIPTION}}Brief project description
{{PRIMARY_DOMAIN}}Primary business domain
{{PLUGIN_VERSION}}SDD plugin version
{{CURRENT_DATE}}Current date (YYYY-MM-DD)

Minimal sdd-settings.yaml Template

Use the minimal template defined in the project-settings skill (see its "Minimal Template" section). That skill is the authoritative source for the sdd-settings.yaml schema and template format.

Minimal specs/INDEX.md Template

# Specifications Index

This file tracks all specifications in the project.

## Changes

No changes yet. Create your first change with:

/sdd I want to create a new feature


## Domain Knowledge

Domain knowledge (glossary, personas, use cases) is populated when you create changes.

Input

Schema: schemas/input.schema.json

Accepts scaffolding mode, project name, target directory, and optional description and domain.

Output

Schema: schemas/output.schema.json

Returns success status and list of created files.

Templates Location

Templates are in this skill's templates/ directory:

skills/project-scaffolding/templates/
├── project/
│   ├── package.json        # Root project package.json
│   ├── README.md
│   └── CLAUDE.md
├── specs/
│   ├── SNAPSHOT.md
│   └── glossary.md
└── changes/
    └── INDEX.md

.gitignore Rules

CRITICAL: The sdd/ directory MUST be version controlled.

The generated .gitignore should:

  • Include standard ignores (node_modules, build artifacts, IDE files)
  • NEVER include sdd/ or any sdd/* patterns
  • NEVER include specs/ or changes/ directories

Required .gitignore Content

# Dependencies
node_modules/

# Build outputs
dist/
build/
*.tsbuildinfo

# IDE
.idea/
.vscode/
*.swp

# OS
.DS_Store
Thumbs.db

# Environment
.env
.env.local
.env.*.local

# Logs
*.log
logs/

# Test coverage
coverage/

# IMPORTANT: sdd/ is NOT ignored - it contains version-controlled SDD artifacts
# Do NOT add sdd/ to this file

Repair Behavior

When running in repair/upgrade mode, check existing .gitignore:

  1. If .sdd or sdd/ pattern exists, remove it
  2. If specs/ pattern exists, remove it
  3. If changes/ pattern exists, remove it
  4. Log warning: "Removed .sdd from .gitignore - SDD artifacts must be version controlled"

Scaffold Spec

Project scaffolding uses the scaffolding engine internally. The scaffolding project command builds a spec from the project config and calls executeSpec. You do not need to invoke scaffolding apply separately for project-level files — the CLI handles it.

Engine Integration

The project scaffolding CLI:

  1. Translates ScaffoldingConfig into a ScaffoldSpec
  2. Maps each component to template_dir operations (using colocated templates in each component skill)
  3. Generates inline content (.gitignore, .claudeignore, architecture overview) as write_file operations
  4. Computes per-component scripts and adds package_json_scripts operations
  5. Executes the full spec via the engine

Example Spec (generated internally)

{
  "target_dir": "<project-root>",
  "base_dir": "<plugin-root>/skills",
  "variables": {
    "PROJECT_NAME": "my-app",
    "PROJECT_DESCRIPTION": "My application",
    "PRIMARY_DOMAIN": "Task Management"
  },
  "operations": [
    {
      "type": "template_dir",
      "source": "project-scaffolding/templates/project",
      "dest": "."
    },
    {
      "type": "write_file",
      "path": ".gitignore",
      "content": "<computed-content>",
      "if_exists": "skip"
    }
  ]
}

Related Skills

Component scaffolding skills are provided by the active tech pack. Invoke techpacks.routeSkills(phase: project-scaffolding) to load the tech-specific scaffolding orchestration skill. For each component type, the manifest's components.<type>.scaffolding field points to the scaffolding skill. Use techpacks.resolvePath to get absolute paths for template directories passed to the scaffolding engine.

리뷰

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

댓글

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

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

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. 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의 스킬 모두 보기

이 스킬의 문제 신고