Level 5 Capstone
Apply your AI developer toolkit to a complete, real-world coding project
You Made It to the Copilot Capstone
Over the past 10 lessons you have built a complete AI developer workflow: inline completion, chat-driven development, AI-powered debugging and testing, refactoring, git workflows, agentic coding, and custom extensions. This capstone puts all of it together in one project.
Choose one of three projects below. Each one is designed to exercise the full Level 5 skill set. Use any AI tool — GitHub Copilot, Claude Code, Cursor — but the point is to use them intentionally, not just as autocomplete.
Project A — Full-Stack Feature with AI Pair Programming
Build a complete feature end-to-end using AI as your pair programmer throughout the entire cycle: design → implementation → tests → documentation → PR.
The Feature: Task Management API
Build a REST API for a task manager with the following requirements:
- CRUD operations for tasks (title, description, status, due date, priority)
- Filtering by status and priority, sorting by due date
- JWT authentication — users only see their own tasks
- Rate limiting (100 req/15 min per user)
- Comprehensive test suite (unit + integration)
- OpenAPI/Swagger documentation
AI Requirements (must use all of these)
# 1. Use inline completion to write the route handlers # Comment-first: "// GET /tasks — return paginated list filtered by status" # 2. Use /tests to generate the test suite # Then ask AI to find edge cases you missed # 3. Use agentic coding (Claude Code or Cursor Composer) for: # "Add rate limiting to all authenticated routes" # 4. Generate your commit messages with AI: # git diff --staged | claude "Write conventional commit message" # 5. Run AI code review before your final commit: # "Review this diff as a senior engineer. # Check for security issues, missing error handling, and test gaps." # 6. Create CLAUDE.md documenting the project conventions
Deliverables
- Working API with all endpoints and auth
- Test suite with 80%+ coverage
- OpenAPI docs generated with AI assistance
- Clean git history with AI-generated conventional commits
CLAUDE.mdfile in the repo- PR description written with AI (include in README)
Project B — Legacy Codebase Modernization
Take a messy legacy codebase and systematically modernize it using AI-assisted refactoring, test generation, and documentation — the exact workflow you would use on a real job.
Setup
# Clone this intentionally messy starter repo: # (Use any legacy or poorly-written codebase you have access to, # or create one with nested callbacks, no tests, magic numbers, etc.) # The codebase has: # - Deeply nested callback-style async code # - No tests # - Cryptic variable names (d, x, tmp, data2) # - Magic numbers throughout # - No error handling # - No documentation # - God functions (200+ lines each)
Modernization Checklist (use AI for each step)
Use AI chat to map out what each file does: "Explain this function to me in plain English."
Use /tests to capture current behavior. These are your safety net.
"Refactor this to use async/await", "Rename all variables to be descriptive", "Extract into smaller functions"
Generate JSDoc/docstrings and a README.md for the project.
Ask AI: "Check for injection vulnerabilities", "Find N+1 patterns", "Identify memory leaks"
Deliverables
- Fully refactored codebase (no callbacks, descriptive names, no magic numbers)
- Tests written before refactoring, all still passing after
- AI-generated README and inline documentation
- Security review report (AI-generated, your annotations)
- Git history showing the progression with AI-generated commit messages
Project C — Team AI Toolkit
Build the AI infrastructure for a development team: custom Claude Code commands, a CLAUDE.md, and an MCP server integration. This is the meta-project — instead of writing features, you are writing the tools that make the whole team faster.
What to Build
Write a comprehensive CLAUDE.md for an existing codebase. Include: project overview, tech stack, all coding conventions, key file locations, test setup, deployment process, and a glossary of domain terms.
# Build at least 5 custom commands in .claude/commands/: # /pr-review — pre-PR checklist with your team's standards # /onboard — explain this codebase to a new engineer # /debug — structured debug workflow # /security — security review checklist # /release — generate changelog + release notes
Build a simple MCP server that exposes one internal tool to Claude Code. Examples: fetch from your internal docs, check a feature flag service, query a read-only database view.
Write a Markdown document (with AI assistance) describing how your team should use AI tools: which tools for which tasks, what to review, what not to trust AI with, and how to onboard new team members to the workflow.
Deliverables
- CLAUDE.md (comprehensive, ready to commit)
- 5 custom command files in .claude/commands/
- Working MCP server (Node.js, TypeScript preferred)
- Team AI Playbook document
- Demo video or write-up: show each command running and explain the MCP server
Capstone Reflection
After completing your chosen project, write a short reflection covering:
# Reflection questions: 1. Which AI tool did you reach for most often? Why was it your default for this project? 2. Where did AI save you the most time? Give a specific example. 3. Where did AI lead you astray, give wrong output, or require the most correction? 4. What would you do differently on the next project? 5. What is one thing you want to automate or custom-build next to make AI even more useful for your workflow?
What You Have Learned in Level 5
You covered the complete developer AI toolkit:
- L38 — The AI tools landscape and setup
- L39 — Inline completion mastery
- L40 — AI chat for development (/explain, /fix, /tests, /doc)
- L41 — Documenting code with AI
- L42 — Debugging with AI
- L43 — Writing tests with AI
- L44 — Refactoring and code review with AI
- L45 — Git workflow with AI
- L46 — Agentic coding
- L47 — Custom extensions and team tooling
How was Level 5?
Your feedback helps improve this course. Takes 30 seconds.