Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions .copilot-track/crawl/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Crawl Track — How This Works

## Chain-PRs
Each exercise lives on its own branch, created off the **previous exercise's branch** (not main). This forms a chain:

```
main
└── crawl/<github-id>/ex0-bootstrap
└── crawl/<github-id>/ex1-repo-orientation
└── crawl/<github-id>/ex2-build-test-baseline
└── ...
```

Why chain? So each PR shows only the incremental diff for that exercise — reviewers and your future self can follow the progression clearly.

## Evidence in PRs
Every PR must include:
- **Test output** — paste the result of running your test command
- **Rollback plan**`revert <SHA>` or describe what to undo
- **Review focus** — one sentence on what the reviewer should look at

If you can't run tests, document why and what manual check you did instead.

## Prompt Usage Pattern
For each exercise:
1. Open Copilot Chat with the repo open in VS Code
2. Paste the exercise prompt from `crawl-walk-run.instructions.md`
3. Append the standard suffix (plan → files → diffs → tests → PR draft)
4. Review Copilot's plan before accepting any file writes
5. Commit only what the acceptance criteria require — nothing more

## Key Files
| File | Purpose |
|------|---------|
| `ai-track-docs/SYSTEM-OVERVIEW.md` | Repo summary + chosen module |
| `ai-track-docs/build-test.md` | Exact build/test commands |
| `ai-track-docs/architecture.mmd` | Mermaid architecture diagram |
| `.copilot-track/crawl/README.md` | This file |
37 changes: 37 additions & 0 deletions ai-track-docs/SYSTEM-OVERVIEW.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# System Overview

## Repo
**github/copilot-cli-for-beginners** — A structured course teaching GitHub Copilot CLI usage through a single Python book-collection app that evolves across chapters.

## Languages & Runtimes
- **Python** (primary) — `samples/book-app-project/`
- **C#** — `samples/book-app-project-cs/`
- **JavaScript** — `samples/book-app-project-js/`
- **Markdown** — course content in `00-quick-start/` through `07-putting-it-together/`

## Entry Points
| App | File |
|-----|------|
| Python book app | `samples/book-app-project/book_app.py` |
| Python books module | `samples/book-app-project/books.py` |
| Python utils | `samples/book-app-project/utils.py` |

## Test Approach
- **Framework:** pytest
- **Test files:** `samples/book-app-project/tests/test_books.py`
- **Config:** `samples/book-app-project/pyproject.toml`

## Key Paths
| Path | Purpose |
|------|---------|
| `samples/book-app-project/` | Primary Python sample app (used for most exercises) |
| `samples/book-app-buggy/` | Intentionally broken version for debugging exercises |
| `00-quick-start/` → `07-putting-it-together/` | Course chapter content |
| `AGENTS.md` | Copilot agent customization instructions |
| `.github/` | CI workflows |

## Chosen Low-Risk Module
> _To be filled in during Ex 1 — Repo Orientation_

**Module:** TBD
**Justification:** TBD
14 changes: 14 additions & 0 deletions ai-track-docs/architecture.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
graph TD
A[book_app.py<br>Entry point / CLI] --> B[books.py<br>Book CRUD logic]
A --> C[utils.py<br>Shared helpers]
B --> D[data.json<br>Persistent storage]
B --> E[tests/test_books.py<br>pytest suite]
C --> E
Comment on lines +5 to +6

subgraph samples/book-app-project
A
B
C
D
E
end
33 changes: 33 additions & 0 deletions ai-track-docs/build-test.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Build & Test Commands

## Python book app (`samples/book-app-project/`)

### Run the app
```bash
cd samples/book-app-project
python book_app.py
```

### Run tests
```bash
cd samples/book-app-project
python -m pytest tests/ -v
```

### Install dependencies (if needed)
```bash
pip install pytest
# or, using pyproject.toml:
pip install -e .
Comment on lines +20 to +21
```

## C# book app (`samples/book-app-project-cs/`)
> _To be filled in during Ex 2 if this app is chosen_

## JavaScript book app (`samples/book-app-project-js/`)
> _To be filled in during Ex 2 if this app is chosen_

---

> Updated during: Ex 0 — Bootstrap
> Last verified: _fill in when you run commands_
Loading