File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # Crawl Track — How This Works
2+
3+ ## Chain-PRs
4+ Each exercise lives on its own branch, created off the ** previous exercise's branch** (not main). This forms a chain:
5+
6+ ```
7+ main
8+ └── crawl/<github-id>/ex0-bootstrap
9+ └── crawl/<github-id>/ex1-repo-orientation
10+ └── crawl/<github-id>/ex2-build-test-baseline
11+ └── ...
12+ ```
13+
14+ Why chain? So each PR shows only the incremental diff for that exercise — reviewers and your future self can follow the progression clearly.
15+
16+ ## Evidence in PRs
17+ Every PR must include:
18+ - ** Test output** — paste the result of running your test command
19+ - ** Rollback plan** — ` revert <SHA> ` or describe what to undo
20+ - ** Review focus** — one sentence on what the reviewer should look at
21+
22+ If you can't run tests, document why and what manual check you did instead.
23+
24+ ## Prompt Usage Pattern
25+ For each exercise:
26+ 1 . Open Copilot Chat with the repo open in VS Code
27+ 2 . Paste the exercise prompt from ` crawl-walk-run.instructions.md `
28+ 3 . Append the standard suffix (plan → files → diffs → tests → PR draft)
29+ 4 . Review Copilot's plan before accepting any file writes
30+ 5 . Commit only what the acceptance criteria require — nothing more
31+
32+ ## Key Files
33+ | File | Purpose |
34+ | ------| ---------|
35+ | ` ai-track-docs/SYSTEM-OVERVIEW.md ` | Repo summary + chosen module |
36+ | ` ai-track-docs/build-test.md ` | Exact build/test commands |
37+ | ` ai-track-docs/architecture.mmd ` | Mermaid architecture diagram |
38+ | ` .copilot-track/crawl/README.md ` | This file |
Original file line number Diff line number Diff line change 1+ # System Overview
2+
3+ ## Repo
4+ ** github/copilot-cli-for-beginners** — A structured course teaching GitHub Copilot CLI usage through a single Python book-collection app that evolves across chapters.
5+
6+ ## Languages & Runtimes
7+ - ** Python** (primary) — ` samples/book-app-project/ `
8+ - ** C#** — ` samples/book-app-project-cs/ `
9+ - ** JavaScript** — ` samples/book-app-project-js/ `
10+ - ** Markdown** — course content in ` 00-quick-start/ ` through ` 07-putting-it-together/ `
11+
12+ ## Entry Points
13+ | App | File |
14+ | -----| ------|
15+ | Python book app | ` samples/book-app-project/book_app.py ` |
16+ | Python books module | ` samples/book-app-project/books.py ` |
17+ | Python utils | ` samples/book-app-project/utils.py ` |
18+
19+ ## Test Approach
20+ - ** Framework:** pytest
21+ - ** Test files:** ` samples/book-app-project/tests/test_books.py `
22+ - ** Config:** ` samples/book-app-project/pyproject.toml `
23+
24+ ## Key Paths
25+ | Path | Purpose |
26+ | ------| ---------|
27+ | ` samples/book-app-project/ ` | Primary Python sample app (used for most exercises) |
28+ | ` samples/book-app-buggy/ ` | Intentionally broken version for debugging exercises |
29+ | ` 00-quick-start/ ` → ` 07-putting-it-together/ ` | Course chapter content |
30+ | ` AGENTS.md ` | Copilot agent customization instructions |
31+ | ` .github/ ` | CI workflows |
32+
33+ ## Chosen Low-Risk Module
34+ > _ To be filled in during Ex 1 — Repo Orientation_
35+
36+ ** Module:** TBD
37+ ** Justification:** TBD
Original file line number Diff line number Diff line change 1+ graph TD
2+ A [ book_app.py<br >Entry point / CLI] --> B [ books.py<br >Book CRUD logic]
3+ A --> C [ utils.py<br >Shared helpers]
4+ B --> D [ data.json<br >Persistent storage]
5+ B --> E [ tests/test_books.py<br >pytest suite]
6+ C --> E
7+
8+ subgraph samples /book -app -project
9+ A
10+ B
11+ C
12+ D
13+ E
14+ end
Original file line number Diff line number Diff line change 1+ # Build & Test Commands
2+
3+ ## Python book app (` samples/book-app-project/ ` )
4+
5+ ### Run the app
6+ ``` bash
7+ cd samples/book-app-project
8+ python book_app.py
9+ ```
10+
11+ ### Run tests
12+ ``` bash
13+ cd samples/book-app-project
14+ python -m pytest tests/ -v
15+ ```
16+
17+ ### Install dependencies (if needed)
18+ ``` bash
19+ pip install pytest
20+ # or, using pyproject.toml:
21+ pip install -e .
22+ ```
23+
24+ ## C# book app (` samples/book-app-project-cs/ ` )
25+ > _ To be filled in during Ex 2 if this app is chosen_
26+
27+ ## JavaScript book app (` samples/book-app-project-js/ ` )
28+ > _ To be filled in during Ex 2 if this app is chosen_
29+
30+ ---
31+
32+ > Updated during: Ex 0 — Bootstrap
33+ > Last verified: _ fill in when you run commands_
You can’t perform that action at this time.
0 commit comments