Copilot Req Automation
GitHub Copilot requires more manual orchestration since it lacks autonomous agents and slash commands. The workflow is more stepwise and IDE-integrated.
Meta-Workflow Using GitHub Copilot:
## Manual Component Generation Workflow (GitHub Copilot)
Use this checklist to guide GitHub Copilot through the SDD workflow step-by-step.
**Component**: {COMPONENT_NAME} (e.g., "01-general-user-plant-database")
---
### Phase 1: Research & Requirements Generation
1. **Manual Research**:
- Open `docs/requirements/REQ-000b_Scope.md`
- Locate the {COMPONENT} section manually
- Read performance criteria, data needs, constraints
- Review `2024-Django-Attempt/` code if relevant
- Take notes in a scratch file
2. **Generate Requirement Document**:
- Copy `.github/prompts/create-requirement.prompt.md` content
- Open Copilot Chat
- Paste prompt with @workspace context:
```
@workspace Using the prompt from .github/prompts/create-requirement.prompt.md,
create a requirement document for "{COMPONENT_NAME}"
Include context from:
- docs/requirements/REQ-000b_Scope.md #{SECTION}
- docs/templates/requirements-template.md
- 2024-Django-Attempt/Plants/models.py (if relevant)
```
3. **Create File Manually**:
- Copy Copilot's output
- Create `docs/requirements/req-{XX}-{COMPONENT}.md`
- Paste content
- Manually add missing sections
- Add CodeGuard security considerations
- Add links to REQ-000b sections
4. **Review Checklist** (manual):
- [ ] All template sections complete?
- [ ] Links to REQ-000b working?
- [ ] Success criteria measurable?
- [ ] CodeGuard considerations included?
---
### Phase 2: Specification Generation
5. **Generate Specification**:
- Copy `.github/prompts/generate-spec-from-requirement.prompt.md`
- Open Copilot Chat
- Paste prompt with context:
```
@workspace Using the prompt from .github/prompts/generate-spec-from-requirement.prompt.md,
create a specification from docs/requirements/req-{XX}-{COMPONENT}.md
Include context from:
- docs/templates/spec-template.md
- docs/requirements/req-{XX}-{COMPONENT}.md
```
6. **Create Specification File**:
- Copy output
- Create `docs/specifications/spec-{XX}-{COMPONENT}.md`
- Paste content
7. **Generate Architecture Diagram**:
- Copy `.github/prompts/create-architecture-diagram.prompt.md`
- Open Copilot Chat
- Paste prompt:
```
@workspace Create architecture diagram for spec-{XX}-{COMPONENT}.md
following .github/prompts/create-architecture-diagram.prompt.md
IMPORTANT: Include all three formats:
1. Text description
2. ASCII diagram
3. Mermaid diagram
```
- Copy output
- Create `docs/diagrams/arch-{XX}-{COMPONENT}.md`
- Paste content
8. **Generate Threat Model**:
- Copy `.github/prompts/create-threat-model.prompt.md`
- Open Copilot Chat
- Paste prompt:
```
@workspace Create STRIDE threat model for spec-{XX}-{COMPONENT}.md
following .github/prompts/create-threat-model.prompt.md
```
- Copy output
- Create `docs/diagrams/threat-{XX}-{COMPONENT}.md`
- Paste content
9. **Review Checklist** (manual):
- [ ] Specification complete?
- [ ] Three diagram formats present?
- [ ] Threat model covers all STRIDE categories?
- [ ] Quality review checklist passed?
---
### Phase 3: TDD Implementation
10. **Generate Test Files**:
- Copy `.github/prompts/testcase.prompt.md`
- Open Copilot Chat:
```
@workspace Generate tests for spec-{XX}-{COMPONENT}.md
following TDD workflow from .github/instructions/tdd-workflow.instructions.md
Create test files in tests/ following the specification
```
- Copy test code
- Create test files manually
- Run tests (should fail - RED phase)
11. **Implement Source Code**:
- Open Copilot Chat:
```
@workspace Implement source code to pass the tests I just created
for spec-{XX}-{COMPONENT}.md
Follow Django best practices and CodeGuard security rules
```
- Copy source code
- Create source files manually
- Run tests (should pass - GREEN phase)
12. **Refactor**:
- Open Copilot Chat:
```
@workspace Review the implementation and suggest refactoring improvements
while keeping tests passing
```
- Apply suggestions manually
13. **Run Verification** (manual terminal):
```bash
make lint
make format
make test
```
14. **Security Review**:
- Copy `.github/prompts/security-review.prompt.md`
- Open Copilot Chat:
```
@workspace Review src/{COMPONENT} for security issues
following .github/prompts/security-review.prompt.md
Check against CodeGuard rules
```
- Review output
- Fix issues manually
---
### Phase 4: Documentation & Completion
15. **Update Cross-Reference** (manual):
- Open `docs/SPEC-CROSS-REFERENCE.md`
- Add new row with links to:
- Requirement file
- Specification file
- Source files
- Test files
- Diagram files
- Update status to "Implemented"
16. **Update Process Documentation** (manual):
- Open `docs/Process.md`
- Document lessons learned
- Update workflow steps if needed
17. **Final Checklist** (manual):
- [ ] All files created?
- [ ] Tests passing?
- [ ] Linting passing?
- [ ] Security review passed?
- [ ] Cross-reference updated?
- [ ] Process.md updated?
---
**End of Copilot Workflow**
Key GitHub Copilot Characteristics:
⚠️ Manual Orchestration: Each step requires explicit prompting
⚠️ Copy/Paste Workflow: Must manually copy outputs to files
⚠️ No Agents: Cannot autonomously research or plan
⚠️ IDE-Integrated: Works within VS Code, good for editing
⚠️ Context via @workspace: Uses workspace files for context
⚠️ Step-by-Step: Cannot execute multi-step workflows autonomously
⚠️ No Progress Tracking: No built-in todo/progress tracking
Example Usage:
Each step requires a separate chat message like:
@workspace Using .github/prompts/create-requirement.prompt.md,
create requirement for "01-general-user-plant-database"
Then manually create the file and paste the output.