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

script

Shell script development and unit testing guidelines. Use when writing or testing shell scripts under scripts/.

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

nerds-odd-e/doughnut스타 50(GitHub 50 + cccskills 0)

실행 점수 미검증

설치 방법 보기

포함된 파일(1)

  • SKILL.md2.4 KB

SKILL.md(원문)

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

Shell Script Development

Script Location

  • Place scripts in the scripts/ directory
  • Use descriptive names with .sh extension
  • Make scripts executable: chmod +x scripts/script_name.sh

Unit Testing

Test Framework

  • Use Bach testing framework for shell script unit tests
  • Bach is located at scripts/test/vendor/bach.sh
  • Bach requires Bash 4.3+ (available in nix environment)

Test File Structure

  • Test files should be in scripts/test/ directory
  • Use .test extension (e.g., scripts/test/run.sh.test)
  • Test files must be executable

Writing Tests

  1. Source Bach framework:

    source "$(dirname "$0")/vendor/bach.sh"
    
  2. Create test functions with test- prefix:

    test-my-feature() {
        # Test implementation
    }
    
  3. Create assertion functions with -assert suffix:

    test-my-feature-assert() {
        @out "expected output"
    }
    
  4. Bach uses dry-run testing - it compares commands executed in test functions with expected commands in assert functions

Running Tests

  • Run all tests: bash scripts/test/run_all_script_tests.sh
  • Run individual test: bash scripts/test/script_name.test
  • In nix environment: ./scripts/run.sh bash scripts/test/run_all_script_tests.sh

Test Requirements

  • All scripts in scripts/ should have corresponding tests in scripts/test/
  • Tests are automatically discovered and run in CI
  • Tests must pass before merging

CURSOR_DEV Mode Behavior

When scripts are run with CURSOR_DEV=true nix develop -c <command>, the nix shell hook (scripts/nix_shell_hook.sh) should:

  • Output only a one-liner: <<running within nix env>> at the beginning
  • Suppress all other output: No log messages, environment info, or setup messages should appear
  • Preserve command output: The actual command's stdout/stderr should be displayed normally
  • Show errors only: If something goes wrong during setup, errors should still be visible

This ensures that when running commands via CURSOR_DEV=true nix develop -c, users see only:

  1. The one-liner <<running within nix env>>
  2. The command's actual output

All hook setup output is suppressed to keep the output clean and focused on the command being executed.

리뷰

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

댓글

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

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

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

0 / 1,000자

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

같은 저장소의 스킬

backend

무료

Backend Java — Spring Boot controllers/services, JUnit controller tests, MakeMe. Read this first for any backend work. Use when working on the Java Spring backend.

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

nerds-odd-e/doughnut502026년 10월 26일 업데이트

Backend Java production code, Spring Boot controllers/services/repositories, controller return values, imports, schema ERD pointer. Use when editing backend production Java.

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

nerds-odd-e/doughnut502026년 10월 26일 업데이트

Backend Java tests, controller-level stable-boundary tests, JUnit, @Nested, MakeMe builders, @Transactional, parameterized tests. Use when writing or changing backend JUnit tests.

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

nerds-odd-e/doughnut502026년 10월 26일 업데이트

cli

무료

related to donut CLI. Use when working on donut-cli.

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

nerds-odd-e/doughnut502026년 10월 26일 업데이트

Set up and run the Donut dev environment on Cursor Cloud VM (no Nix). Use when working on Cloud VM, running tests on Cloud VM, or encountering command errors related to missing nix. Triggers on: cloud VM, cloud agent, no nix available, /workspace path.

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

nerds-odd-e/doughnut502026년 10월 26일 업데이트

Regenerate docs/database-erd.md from MySQL information_schema (Mermaid ERD: foreign keys and key columns). Use after Flyway schema changes, new migrations, or when the diagram is stale. Triggers on: database ERD, database-erd.md, export_database_erd, schema diagram, ER diagram after migration.

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

nerds-odd-e/doughnut502026년 10월 26일 업데이트

nerds-odd-e의 스킬 모두 보기

이 스킬의 문제 신고