Skip to content
cccskills
FreePublished on GitHub

tdd-cycle

Run a complete RED -> GREEN -> REFACTOR cycle for a single test

The English summary is being prepared. Showing the original description.

Chemaclass/bashdep19 stars(GitHub 19 + cccskills 0)

Run score Not tested

See how to install

Files included (1)

  • SKILL.md2.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

TDD Cycle

Execute a complete RED -> GREEN -> REFACTOR cycle for one test.

Workflow

1. Verify Task File

Check for .tasks/YYYY-MM-DD-*.md. If missing for a non-trivial change, create one before proceeding.

2. RED - Write Failing Test

  1. Show the test inventory from the task file; ask which test to implement
  2. Read the surrounding tests in tests/unit/bashdep_test.sh to match style:
    • Pure-logic test (no filesystem) → add near the top
    • Filesystem test → add near the bottom; use $TEST_DIR and the _seed_lock / _seed_installed helpers
  3. Reset BASHDEP_* globals in the test body if it depends on a mode flag
  4. Run: lib/bashunit tests --filter <test_name> - must fail
  5. Verify the failure is for the RIGHT reason (assertion mismatch, not syntax error or missing function)
  6. Update the task file: current red bar + logbook entry

3. GREEN - Make It Pass

  1. Write minimal code in bashdep - only enough to satisfy THIS test
  2. Run: lib/bashunit tests --filter <test_name> - must pass
  3. Run the full suite: make test - nothing else regressed
  4. Update the task file: tick the test + logbook entry

4. REFACTOR - Improve Code

  1. Improve readability, naming, extract duplication - no behavior changes
  2. Run make test after each change
  3. Quality checks: make sa && make lint
  4. Update the task file with refactoring notes

5. Next Test

Show the updated test inventory. Ask whether to continue or stop.

Critical Rules

  • Never skip RED - always verify the test fails first
  • Minimal code in GREEN - resist scope creep
  • All tests green during REFACTOR - revert immediately if broken
  • Bash 3.2+ - see .claude/rules/bash-style.md
  • Honor modes - any new mutating code must respect BASHDEP_DRY_RUN, BASHDEP_SILENT, BASHDEP_VERBOSE, BASHDEP_FORCE

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Add a new bashdep:: lifecycle command with TDD

The English summary is being prepared. Showing the original description.

Chemaclass/bashdep19Updated Oct 20, 2026

commit

Free

Stage and commit changes using conventional commits format

The English summary is being prepared. Showing the original description.

Chemaclass/bashdep19Updated Oct 20, 2026

Coverage gap analysis for the bashdep public API plus a bashdep::doctor audit

The English summary is being prepared. Showing the original description.

Chemaclass/bashdep19Updated Oct 20, 2026

Debug and fix failing bashdep tests systematically

The English summary is being prepared. Showing the original description.

Chemaclass/bashdep19Updated Oct 20, 2026

Fetch a GitHub issue, create a branch, plan and implement with TDD, then open a PR

The English summary is being prepared. Showing the original description.

Chemaclass/bashdep19Updated Oct 20, 2026

pr

Free

Push branch and create a GitHub PR following the bashdep PR template

The English summary is being prepared. Showing the original description.

Chemaclass/bashdep19Updated Oct 20, 2026

See all skills by Chemaclass

Report a problem with this skill