跳到正文
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(原文)

安装前可以查看交给 AI 代理的指令内容。

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 / 1000 字

此表单受 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 的全部技能

报告此技能的问题