Issue 01 | Project Background and Dual-mode Requirements Overview
This tutorial is based on a real project review, documenting the complete process of developing a "Dual-Mode Web Calculator" (Elderly Mode + Standard Mode) using the Claude Code Teams pattern. It focuses on practical issues such as Teams configuration, pitfalls guide, tmux collaboration, notification mechanisms, and context management.
1.1 Project Overview
1.1.1 Product Requirements
Single-page web calculator, supporting two UI modes:
| Mode | Target User | Button Size | Font Size | Features |
|---|---|---|---|---|
| Standard Mode | General Users | 48Γ48px | 18-20px | Full functionality, modern color scheme |
| Elderly Mode | 65+ years old | 80Γ80px | 28-36px | High contrast WCAG AAA, simplified operations, long-press to clear |
Technical Constraints: Pure HTML/CSS/JS, no frameworks, no external dependencies, supports offline.
1.1.2 Team Composition
| Agent | Responsibility | Parallelizable | Actual Model |
|---|---|---|---|
| team-lead (You) | Planning, Coordination, Acceptance | - | Glm-5 |
| ui-dev | HTML Structure + CSS Theme + Responsive + ARIA | β Immediately | claude-opus-4-7 |
| logic-dev | Calculation Engine + Expression Parsing + Keyboard + DOM Binding | β Immediately | claude-opus-4-7 |
| qa-engineer | Test Framework + Unit/Integration/E2E/Accessibility Testing | β After the first two are complete | claude-opus-4-7 |
1.1.3 Final File Structure
teamtest/
βββ CLAUDE.md # Project conventions (Agent behavior rules)
βββ requirement.md # Requirement specifications (Chinese)
βββ task_plan.md # Phased plan
βββ progress.md # Session progress log
βββ findings.md # Technical decision records
βββ bugs.md # Bug tracking
βββ index.html # Semantic HTML (ARIA tags, button IDs)
βββ style.css # Dual-mode CSS variable theme
βββ app.js # Shunting-yard calculation engine + DOM binding
βββ test-runner.js # Lightweight test framework
βββ test.js # Unit tests (48 cases)
βββ test-dom.js # DOM integration tests
βββ test-a11y.js # Accessibility tests
βββ test-runner.html # Browser test runner
βββ .claude/
β βββ settings.json # Permission whitelist (auto-approve)
βββ scripts/
βββ setup-team.sh # tmux environment initialization
βββ start-team.md # Teams startup steps