Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .claude/.beads/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
# ============== WARNING ==============================================================================
# File is managed by copier template: gh:LabAutomationAndScreening/copier-base-template.git
# See .config/.copier-managed-files.json for details.
#
# You are welcome to make changes to this file in your repo if they are custom to your project,
# but if the change should be shared with other projects, please backport it to the template repo.
# =====================================================================================================
# Dolt database (managed by Dolt, not git)
dolt/
dolt-access.lock
Expand Down
7 changes: 7 additions & 0 deletions .claude/.beads/config.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
# ============== WARNING ==============================================================================
# File is managed by copier template: gh:LabAutomationAndScreening/copier-base-template.git
# See .config/.copier-managed-files.json for details.
#
# You are welcome to make changes to this file in your repo if they are custom to your project,
# but if the change should be shared with other projects, please backport it to the template repo.
# =====================================================================================================
# Beads Configuration File
# This file configures default behavior for all bd commands in this repository
# All settings can also be set via environment variables (BD_* prefix)
Expand Down
11 changes: 11 additions & 0 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
@../AGENTS.md

<!--
============== WARNING ==============================================================================
File is managed by copier template: gh:LabAutomationAndScreening/copier-base-template.git
See .config/.copier-managed-files.json for details.

You are welcome to make changes to this file in your repo if they are custom to your project,
but if the change should be shared with other projects, please backport it to the template repo.
=====================================================================================================
-->
10 changes: 10 additions & 0 deletions .claude/commands/add-command.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,3 +165,13 @@ Show differences and suggest improvements.
After creating: `/<command-name> [arguments]`

Example: `/review` or `/ai:gpt5 "explain this code"`

<!--
============== WARNING ==============================================================================
File is managed by copier template: gh:LabAutomationAndScreening/copier-base-template.git
See .config/.copier-managed-files.json for details.

You are welcome to make changes to this file in your repo if they are custom to your project,
but if the change should be shared with other projects, please backport it to the template repo.
=====================================================================================================
-->
10 changes: 10 additions & 0 deletions .claude/commands/commit.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,13 @@ Follows [Conventional Commits](https://www.conventionalcommits.org/) standard.
git add <files>
git commit -m "feat(#123): add validation to user input form"
```

<!--
============== WARNING ==============================================================================
File is managed by copier template: gh:LabAutomationAndScreening/copier-base-template.git
See .config/.copier-managed-files.json for details.

You are welcome to make changes to this file in your repo if they are custom to your project,
but if the change should be shared with other projects, please backport it to the template repo.
=====================================================================================================
-->
10 changes: 10 additions & 0 deletions .claude/commands/create-adr.md
Original file line number Diff line number Diff line change
Expand Up @@ -238,3 +238,13 @@ To supersede an existing ADR:

- After creating: Commit with `/commit`
- If decision needs discussion: Create issue with `/create-issues`

<!--
============== WARNING ==============================================================================
File is managed by copier template: gh:LabAutomationAndScreening/copier-base-template.git
See .config/.copier-managed-files.json for details.

You are welcome to make changes to this file in your repo if they are custom to your project,
but if the change should be shared with other projects, please backport it to the template repo.
=====================================================================================================
-->
10 changes: 10 additions & 0 deletions .claude/commands/create-issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -193,3 +193,13 @@ See <https://github.com/steveyegge/beads> for more information.
- **After /create-issues**: Use `/red` to start TDD on first task
- **During work**: Use `bd update` to add notes/findings back to issues
- **When stuck**: Check `bd show ISSUE-ID` to review acceptance criteria

<!--
============== WARNING ==============================================================================
File is managed by copier template: gh:LabAutomationAndScreening/copier-base-template.git
See .config/.copier-managed-files.json for details.

You are welcome to make changes to this file in your repo if they are custom to your project,
but if the change should be shared with other projects, please backport it to the template repo.
=====================================================================================================
-->
10 changes: 10 additions & 0 deletions .claude/commands/gap.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,13 @@ If there are no gaps, confirm that everything discussed has been addressed.
Gap: $ARGUMENTS

**End of user arguments**

<!--
============== WARNING ==============================================================================
File is managed by copier template: gh:LabAutomationAndScreening/copier-base-template.git
See .config/.copier-managed-files.json for details.

You are welcome to make changes to this file in your repo if they are custom to your project,
but if the change should be shared with other projects, please backport it to the template repo.
=====================================================================================================
-->
15 changes: 13 additions & 2 deletions .claude/commands/green.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,9 @@ The foundation of TDD is the Red-Green-Refactor cycle:
1. **Red Phase**: Write ONE failing test that describes desired behavior

- The test must fail for the RIGHT reason (not syntax/import errors)
- Only one test at a time - this is critical for TDD discipline
- Exception: For browser-level tests or expensive setup (e.g., Storybook `*.stories.tsx`), group multiple assertions within a single test block to avoid redundant setup - but only when adding assertions to an existing interaction flow. If new user interactions are required, still create a new test. Split files by category if they exceed ~1000 lines.
- Only one new behavior at a time - this is critical for TDD discipline. "One test" means one new Given/When, not one assertion: write only enough to fail for the right reason, whether that lands in a new test block or as an assertion added to an existing one.
- Before writing a new test block, look for an existing test with the same Arrange and Act. If one exists, add the failing assertion there. A block that repeats another's setup and action is not more disciplined, just more setup to maintain, and it hides that both cover one behavior. Reserve a new block for a different precondition (Given) or a different action (When).
- Split test files by category if they exceed ~1000 lines
- **Adding a single test to a test file is ALWAYS allowed** - no prior test output needed
- Starting TDD for a new feature is always valid, even if test output shows unrelated work
- For DOM-based tests, use `data-testid` attributes to select elements rather than CSS classes, tag names, or text content
Expand Down Expand Up @@ -108,3 +109,13 @@ This phase is **not part of the regular TDD workflow** and must only be applied
- In the refactor phase, it is perfectly fine to refactor both test and implementation code. That said, completely new functionality is not allowed. Types, clean up, abstractions, and helpers are allowed as long as they do not introduce new behavior.
- Adding types, interfaces, or a constant in order to replace magic values is perfectly fine during refactoring.
- Provide the agent with helpful directions so that they do not get stuck when blocking them.

<!--
============== WARNING ==============================================================================
File is managed by copier template: gh:LabAutomationAndScreening/copier-base-template.git
See .config/.copier-managed-files.json for details.

You are welcome to make changes to this file in your repo if they are custom to your project,
but if the change should be shared with other projects, please backport it to the template repo.
=====================================================================================================
-->
15 changes: 13 additions & 2 deletions .claude/commands/issue.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,9 @@ The foundation of TDD is the Red-Green-Refactor cycle:
1. **Red Phase**: Write ONE failing test that describes desired behavior

- The test must fail for the RIGHT reason (not syntax/import errors)
- Only one test at a time - this is critical for TDD discipline
- Exception: For browser-level tests or expensive setup (e.g., Storybook `*.stories.tsx`), group multiple assertions within a single test block to avoid redundant setup - but only when adding assertions to an existing interaction flow. If new user interactions are required, still create a new test. Split files by category if they exceed ~1000 lines.
- Only one new behavior at a time - this is critical for TDD discipline. "One test" means one new Given/When, not one assertion: write only enough to fail for the right reason, whether that lands in a new test block or as an assertion added to an existing one.
- Before writing a new test block, look for an existing test with the same Arrange and Act. If one exists, add the failing assertion there. A block that repeats another's setup and action is not more disciplined, just more setup to maintain, and it hides that both cover one behavior. Reserve a new block for a different precondition (Given) or a different action (When).
- Split test files by category if they exceed ~1000 lines
- **Adding a single test to a test file is ALWAYS allowed** - no prior test output needed
- Starting TDD for a new feature is always valid, even if test output shows unrelated work
- For DOM-based tests, use `data-testid` attributes to select elements rather than CSS classes, tag names, or text content
Expand Down Expand Up @@ -160,3 +161,13 @@ This phase is **not part of the regular TDD workflow** and must only be applied
- In the refactor phase, it is perfectly fine to refactor both test and implementation code. That said, completely new functionality is not allowed. Types, clean up, abstractions, and helpers are allowed as long as they do not introduce new behavior.
- Adding types, interfaces, or a constant in order to replace magic values is perfectly fine during refactoring.
- Provide the agent with helpful directions so that they do not get stuck when blocking them.

<!--
============== WARNING ==============================================================================
File is managed by copier template: gh:LabAutomationAndScreening/copier-base-template.git
See .config/.copier-managed-files.json for details.

You are welcome to make changes to this file in your repo if they are custom to your project,
but if the change should be shared with other projects, please backport it to the template repo.
=====================================================================================================
-->
10 changes: 10 additions & 0 deletions .claude/commands/polish.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,3 +183,13 @@ Additional cross-cutting checks:
Polish: $ARGUMENTS

**End of user arguments**

<!--
============== WARNING ==============================================================================
File is managed by copier template: gh:LabAutomationAndScreening/copier-base-template.git
See .config/.copier-managed-files.json for details.

You are welcome to make changes to this file in your repo if they are custom to your project,
but if the change should be shared with other projects, please backport it to the template repo.
=====================================================================================================
-->
15 changes: 13 additions & 2 deletions .claude/commands/red.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,9 @@ The foundation of TDD is the Red-Green-Refactor cycle:
1. **Red Phase**: Write ONE failing test that describes desired behavior

- The test must fail for the RIGHT reason (not syntax/import errors)
- Only one test at a time - this is critical for TDD discipline
- Exception: For browser-level tests or expensive setup (e.g., Storybook `*.stories.tsx`), group multiple assertions within a single test block to avoid redundant setup - but only when adding assertions to an existing interaction flow. If new user interactions are required, still create a new test. Split files by category if they exceed ~1000 lines.
- Only one new behavior at a time - this is critical for TDD discipline. "One test" means one new Given/When, not one assertion: write only enough to fail for the right reason, whether that lands in a new test block or as an assertion added to an existing one.
- Before writing a new test block, look for an existing test with the same Arrange and Act. If one exists, add the failing assertion there. A block that repeats another's setup and action is not more disciplined, just more setup to maintain, and it hides that both cover one behavior. Reserve a new block for a different precondition (Given) or a different action (When).
- Split test files by category if they exceed ~1000 lines
- **Adding a single test to a test file is ALWAYS allowed** - no prior test output needed
- Starting TDD for a new feature is always valid, even if test output shows unrelated work
- For DOM-based tests, use `data-testid` attributes to select elements rather than CSS classes, tag names, or text content
Expand Down Expand Up @@ -124,3 +125,13 @@ Structure each test with clear phases:
- **Arrange**: Set up test data and preconditions (keep minimal)
- **Act**: Execute the single action being tested
- **Assert**: Verify the expected outcome with specific assertions

<!--
============== WARNING ==============================================================================
File is managed by copier template: gh:LabAutomationAndScreening/copier-base-template.git
See .config/.copier-managed-files.json for details.

You are welcome to make changes to this file in your repo if they are custom to your project,
but if the change should be shared with other projects, please backport it to the template repo.
=====================================================================================================
-->
15 changes: 13 additions & 2 deletions .claude/commands/refactor.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,9 @@ The foundation of TDD is the Red-Green-Refactor cycle:
1. **Red Phase**: Write ONE failing test that describes desired behavior

- The test must fail for the RIGHT reason (not syntax/import errors)
- Only one test at a time - this is critical for TDD discipline
- Exception: For browser-level tests or expensive setup (e.g., Storybook `*.stories.tsx`), group multiple assertions within a single test block to avoid redundant setup - but only when adding assertions to an existing interaction flow. If new user interactions are required, still create a new test. Split files by category if they exceed ~1000 lines.
- Only one new behavior at a time - this is critical for TDD discipline. "One test" means one new Given/When, not one assertion: write only enough to fail for the right reason, whether that lands in a new test block or as an assertion added to an existing one.
- Before writing a new test block, look for an existing test with the same Arrange and Act. If one exists, add the failing assertion there. A block that repeats another's setup and action is not more disciplined, just more setup to maintain, and it hides that both cover one behavior. Reserve a new block for a different precondition (Given) or a different action (When).
- Split test files by category if they exceed ~1000 lines
- **Adding a single test to a test file is ALWAYS allowed** - no prior test output needed
- Starting TDD for a new feature is always valid, even if test output shows unrelated work
- For DOM-based tests, use `data-testid` attributes to select elements rather than CSS classes, tag names, or text content
Expand Down Expand Up @@ -125,3 +126,13 @@ When refactoring implementation, watch for **Peeping Tom** tests that:
If tests fail after a pure refactoring (no behavior change), consider whether the tests are testing implementation rather than behavior.

1. **Consistency check** - Look for inconsistent patterns, naming conventions, or structure across the codebase

<!--
============== WARNING ==============================================================================
File is managed by copier template: gh:LabAutomationAndScreening/copier-base-template.git
See .config/.copier-managed-files.json for details.

You are welcome to make changes to this file in your repo if they are custom to your project,
but if the change should be shared with other projects, please backport it to the template repo.
=====================================================================================================
-->
10 changes: 10 additions & 0 deletions .claude/commands/research.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,13 @@ List all source links with brief descriptions. This section is required.
- Write concise, actionable content
- Use active voice throughout
- **Do not create output files** - present findings directly in conversation unless user explicitly requests a file

<!--
============== WARNING ==============================================================================
File is managed by copier template: gh:LabAutomationAndScreening/copier-base-template.git
See .config/.copier-managed-files.json for details.

You are welcome to make changes to this file in your repo if they are custom to your project,
but if the change should be shared with other projects, please backport it to the template repo.
=====================================================================================================
-->
10 changes: 10 additions & 0 deletions .claude/commands/simplify.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,3 +82,13 @@ When refactoring implementation, watch for **Peeping Tom** tests that:
- Break on any refactoring even when behavior is preserved

If tests fail after a pure refactoring (no behavior change), consider whether the tests are testing implementation rather than behavior.

<!--
============== WARNING ==============================================================================
File is managed by copier template: gh:LabAutomationAndScreening/copier-base-template.git
See .config/.copier-managed-files.json for details.

You are welcome to make changes to this file in your repo if they are custom to your project,
but if the change should be shared with other projects, please backport it to the template repo.
=====================================================================================================
-->
Loading