CI Automation

CleanFramework uses GitHub Actions and Claude Code to automate issue-to-PR delivery. Three components work together: structured issue templates, a trigger label, and a Claude agent workflow.

How It Works

 Issue created          Label applied          Claude runs
┌──────────────┐    ┌──────────────────┐    ┌──────────────────────────┐
│ Bug Report   │───>│ claude-implement │───>│ Plan -> Implement ->     │
│ Feature Req. │    │ label added      │    │ Test -> Review ->        │
└──────────────┘    └──────────────────┘    │ Document -> Deliver (PR) │
                                            └──────────────────────────┘
  1. A contributor opens a Bug Report or Feature Request using the structured issue forms.
  2. A maintainer reviews the issue and applies the claude-implement label.
  3. The Claude Agent Team workflow triggers and runs through all six phases of the development lifecycle defined in CLAUDE.md.
  4. Claude opens a pull request that closes the issue automatically.

Issue Templates

Bug Report

Field Type Required
Description Textarea Yes
Steps to Reproduce Textarea Yes
Expected Behavior Textarea Yes
Actual Behavior Textarea Yes
.NET SDK Version Input No
Package Version Input No
Severity Dropdown (Low / Medium / High / Critical) Yes

Feature Request

Field Type Required
Description Textarea Yes
Motivation Textarea Yes
Proposed Solution Textarea No
Alternatives Considered Textarea No
Scope Dropdown (Small / Medium / Large) Yes

Blank issues are disabled. All issues must use one of the structured forms.

Triggering Claude

To start automated implementation:

  1. Open an issue using one of the templates.
  2. Ensure the issue has enough detail for an implementer to work from.
  3. Apply the claude-implement label.

The workflow runs only when this specific label is applied. Removing and re-adding the label triggers a new run.

Clarification Flow

If Claude determines the issue is ambiguous or missing key details:

  1. Claude posts a clarifying comment on the issue and stops.
  2. The contributor replies with the requested details, mentioning @claude in the comment.
  3. The follow-up job triggers and Claude continues from where it left off.

What Happens During Automation

Claude follows the six-phase Agent Team Workflow from CLAUDE.md:

Phase Agent What Happens
1. Plan Lead Analyzes the issue, designs the approach, creates tasks
2. Implement Implementer Writes production code in src/
3. Test Tester Writes unit tests in tests/
4. Review Reviewer Reviews for code style, security, test coverage
5. Document Documenter Updates docs if public API changed
6. Deliver Lead Runs quality gate, opens PR with Closes #N

Setup Requirements

Before the workflow can run, two things must be configured:

1. Create the claude-implement label

In your GitHub repository, go to Issues > Labels > New label and create:

  • Name: claude-implement
  • Color: choose any color (suggested: #7057ff)

2. Add the ANTHROPIC_API_KEY secret

Go to Settings > Secrets and variables > Actions > New repository secret and add:

  • Name: ANTHROPIC_API_KEY
  • Value: your Anthropic API key

The workflow will fail silently if this secret is not configured.


This site uses Just the Docs, a documentation theme for Jekyll.