Skip to content

Commit 95e95f7

Browse files
JoshLuedemanCopilot
andcommitted
feat: install gh-teamwork framework
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 8fdaff2 commit 95e95f7

68 files changed

Lines changed: 8383 additions & 25 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# EditorConfig — consistent formatting across all editors and agents
2+
# https://editorconfig.org
3+
4+
root = true
5+
6+
[*]
7+
charset = utf-8
8+
end_of_line = lf
9+
insert_final_newline = true
10+
trim_trailing_whitespace = true
11+
indent_style = space
12+
indent_size = 2
13+
14+
[*.md]
15+
trim_trailing_whitespace = false
16+
17+
[*.py]
18+
indent_size = 4
19+
20+
[*.go]
21+
indent_style = tab
22+
23+
[Makefile]
24+
indent_style = tab

.github/ISSUE_TEMPLATE/bug.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Bug Report
2+
description: Report a bug for investigation and fix
3+
title: "[BUG] "
4+
labels: ["bug"]
5+
body:
6+
- type: textarea
7+
id: description
8+
attributes:
9+
label: Description
10+
description: What's wrong
11+
validations:
12+
required: true
13+
14+
- type: textarea
15+
id: steps-to-reproduce
16+
attributes:
17+
label: Steps to Reproduce
18+
description: Step-by-step instructions to reproduce the bug
19+
placeholder: |
20+
1. Step one
21+
2. Step two
22+
3. Step three
23+
validations:
24+
required: true
25+
26+
- type: textarea
27+
id: expected-behavior
28+
attributes:
29+
label: Expected Behavior
30+
description: What should happen
31+
validations:
32+
required: true
33+
34+
- type: textarea
35+
id: actual-behavior
36+
attributes:
37+
label: Actual Behavior
38+
description: What actually happens
39+
validations:
40+
required: true
41+
42+
- type: textarea
43+
id: environment
44+
attributes:
45+
label: Environment
46+
description: "OS, language version, dependency versions, etc."
47+
placeholder: |
48+
- OS: macOS 14.0
49+
- Python: 3.12
50+
validations:
51+
required: false
52+
53+
- type: dropdown
54+
id: severity
55+
attributes:
56+
label: Severity
57+
description: How severe is this bug
58+
options:
59+
- Critical
60+
- High
61+
- Medium
62+
- Low
63+
validations:
64+
required: true
65+
66+
- type: textarea
67+
id: logs-screenshots
68+
attributes:
69+
label: Relevant Logs/Screenshots
70+
description: Any logs, error messages, or screenshots
71+
render: shell
72+
validations:
73+
required: false
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: Planning Request
2+
description: Request planning or design work for a goal
3+
title: "[PLAN] "
4+
labels: ["planning"]
5+
body:
6+
- type: textarea
7+
id: goal
8+
attributes:
9+
label: Goal
10+
description: What you want to achieve
11+
validations:
12+
required: true
13+
14+
- type: textarea
15+
id: context
16+
attributes:
17+
label: Context
18+
description: Background information relevant to this goal
19+
validations:
20+
required: false
21+
22+
- type: textarea
23+
id: constraints
24+
attributes:
25+
label: Constraints
26+
description: Limitations, requirements, or boundaries
27+
validations:
28+
required: false
29+
30+
- type: textarea
31+
id: success-criteria
32+
attributes:
33+
label: Success Criteria
34+
description: How to know when this is done
35+
placeholder: |
36+
- [ ] Criterion 1
37+
- [ ] Criterion 2
38+
validations:
39+
required: false
40+
41+
- type: dropdown
42+
id: workflow-type
43+
attributes:
44+
label: Workflow Type
45+
description: Which workflow fits this goal? See agents/workflows/ for details on each workflow.
46+
options:
47+
- Feature
48+
- Bugfix
49+
- Refactor
50+
- Hotfix
51+
- Security Response
52+
- Dependency Update
53+
- Documentation
54+
- Spike
55+
- Release
56+
- Not Sure
57+
validations:
58+
required: false
59+
60+
- type: dropdown
61+
id: scope
62+
attributes:
63+
label: Scope
64+
description: Estimated size of this effort
65+
options:
66+
- Small (hours)
67+
- Medium (days)
68+
- Large (weeks)
69+
validations:
70+
required: false

.github/ISSUE_TEMPLATE/task.yml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
name: Task
2+
description: A structured task for agent implementation
3+
title: "[TASK] "
4+
labels: ["task"]
5+
body:
6+
- type: textarea
7+
id: summary
8+
attributes:
9+
label: Summary
10+
description: What needs to be done
11+
validations:
12+
required: true
13+
14+
- type: textarea
15+
id: acceptance-criteria
16+
attributes:
17+
label: Acceptance Criteria
18+
description: Specific, testable criteria for completion
19+
placeholder: |
20+
- [ ] Criterion 1
21+
- [ ] Criterion 2
22+
validations:
23+
required: true
24+
25+
- type: textarea
26+
id: relevant-files
27+
attributes:
28+
label: Relevant Files
29+
description: Files or directories the agent should focus on
30+
placeholder: |
31+
- src/module/file.py
32+
- tests/test_module.py
33+
validations:
34+
required: false
35+
36+
- type: textarea
37+
id: dependencies
38+
attributes:
39+
label: Dependencies
40+
description: Other issues that must complete before this task
41+
placeholder: |
42+
- #issue_number
43+
validations:
44+
required: false
45+
46+
- type: textarea
47+
id: technical-notes
48+
attributes:
49+
label: Technical Notes
50+
description: Design constraints, patterns to follow, or other guidance
51+
validations:
52+
required: false
53+
54+
- type: dropdown
55+
id: agent-role
56+
attributes:
57+
label: Agent Role
58+
description: Which role should handle this task
59+
options:
60+
# Core roles
61+
- Planner
62+
- Architect
63+
- Coder
64+
- Tester
65+
- Reviewer
66+
- Security Auditor
67+
- Documenter
68+
# Optional / specialized roles
69+
- Triager
70+
- DevOps
71+
- Dependency Manager
72+
- Refactorer
73+
validations:
74+
required: true

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 17 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,26 @@
1-
## 📋 Description
1+
## Task Issue
22

3-
<!-- Briefly describe the changes in this PR -->
3+
Closes #<!-- issue number -->
44

5-
## 🔗 Related Issues
5+
## Description
66

7-
<!-- Link to related issues: Fixes #123, Closes #456 -->
7+
<!-- What changes does this PR make and why? -->
88

9-
## 🧪 Type of Change
9+
## Checklist
1010

11-
- [ ] 🐛 Bug fix (non-breaking change which fixes an issue)
12-
- [ ] ✨ New feature (non-breaking change which adds functionality)
13-
- [ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
14-
- [ ] 📚 Documentation update
15-
- [ ] 🔧 Maintenance / refactoring
16-
- [ ] 🔒 Security fix
11+
- [ ] Linked to task issue
12+
- [ ] Changes are minimal (only what the task requires)
13+
- [ ] Tests added/updated
14+
- [ ] All tests pass (`make test`)
15+
- [ ] Linting passes (`make lint`)
16+
- [ ] No secrets or credentials committed
17+
- [ ] Documentation updated (if applicable)
18+
- [ ] Follows project conventions (docs/conventions.md)
1719

18-
## ✅ Checklist
20+
## Reviewer Notes
1921

20-
- [ ] My code follows the project's style guidelines
21-
- [ ] I have performed a self-review of my code
22-
- [ ] I have commented my code, particularly in hard-to-understand areas
23-
- [ ] I have made corresponding changes to the documentation
24-
- [ ] My changes generate no new warnings
25-
- [ ] I have added tests that prove my fix is effective or that my feature works
26-
- [ ] New and existing unit tests pass locally with my changes
22+
<!-- Anything reviewers should know or pay attention to -->
2723

28-
## 📸 Screenshots (if applicable)
24+
## Security Considerations
2925

30-
<!-- Add screenshots to help explain your changes -->
31-
32-
## 📝 Additional Notes
33-
34-
<!-- Any additional information that reviewers should know -->
26+
<!-- Any security implications of these changes? (new inputs, auth changes, dependency updates, etc.) -->

.github/agents/api-agent.agent.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
name: api-agent
3+
description: Designs and builds API endpoints, maintains API contracts and OpenAPI specs, ensures RESTful consistency and proper versioning. Use for API design and implementation tasks.
4+
---
5+
6+
# Role: API Agent
7+
8+
## Identity
9+
10+
You are the API Agent. You design, build, and maintain API endpoints. You ensure every endpoint follows consistent conventions, has proper error handling, is well-documented, and is covered by tests. You own the contract between the server and its clients — you make APIs predictable, reliable, and easy to consume.
11+
12+
## Project Knowledge
13+
<!-- CUSTOMIZE: Replace the placeholders below with your project's details -->
14+
- **API Framework:** [e.g., Express, FastAPI, Gin, Spring Boot]
15+
- **API Style:** [e.g., REST, GraphQL, gRPC]
16+
- **OpenAPI Spec Location:** [e.g., `docs/openapi.yaml`, `api/swagger.json`]
17+
- **Dev Server Command:** [e.g., `npm run dev`, `make run`, `go run ./cmd/server`]
18+
- **API Test Command:** [e.g., `npm test -- --grep api`, `make test-api`, `go test ./api/...`]
19+
20+
## MCP Tools
21+
- **GitHub MCP**`search_code`, `get_file_contents` — understand existing API patterns and contracts
22+
- **Context7**`resolve-library-id`, `get-library-docs` — look up framework-specific API conventions and documentation
23+
24+
## Responsibilities
25+
26+
- Design API endpoints with consistent naming, methods, and status codes
27+
- Write route handlers with proper request validation and error handling
28+
- Maintain OpenAPI/Swagger specifications alongside implementation
29+
- Handle error responses with consistent structure and meaningful messages
30+
- Implement API versioning strategy
31+
- Write integration tests for every endpoint
32+
- Ensure proper authentication and authorization on protected routes
33+
34+
## Boundaries
35+
36+
-**Always:**
37+
- Follow RESTful conventions (or the project's chosen API style) for naming, methods, and status codes
38+
- Validate request and response schemas — reject malformed input with clear error messages
39+
- Write API tests for every endpoint covering happy path, error cases, and edge cases
40+
- Document every endpoint in the OpenAPI spec or equivalent
41+
- Use consistent error response format across all endpoints
42+
- Handle pagination, filtering, and sorting for list endpoints
43+
- ⚠️ **Ask first:**
44+
- Before making breaking changes to existing endpoints (removing fields, changing types, renaming paths)
45+
- Before introducing new authentication or authorization schemes
46+
- Before making database schema changes required by new endpoints
47+
- 🚫 **Never:**
48+
- Commit API keys, secrets, or credentials — not even in test fixtures
49+
- Skip error handling — every endpoint must handle and return appropriate errors
50+
- Remove existing endpoints without explicit approval and a deprecation plan
51+
52+
## Quality Bar
53+
54+
Your API work is good enough when:
55+
56+
- Every endpoint has integration tests covering success, validation errors, and authorization
57+
- Every endpoint is documented in the OpenAPI spec with request/response schemas
58+
- Error responses are consistent and include actionable messages
59+
- Naming follows project conventions (URL paths, query parameters, response fields)
60+
- Authentication and authorization are enforced on all protected routes
61+
- No secrets or credentials appear in code or test fixtures

0 commit comments

Comments
 (0)