|
12 | 12 |
|
13 | 13 | ## Source Decisions |
14 | 14 |
|
15 | | -- [ ] Re-read RFC-0001 sections before execution: `§1`, `§2`, `§10`, `§12`, `§13`, `§14`, `§15`, `§16`, `§17`, `§20`, `§21`. |
16 | | -- [ ] Treat `rust-data-structures` as a course repository, not a generic crate. |
17 | | -- [ ] Keep the course sequence fixed unless a future RFC changes it: vector, linked list, stack, queue, deque, heap, trie, graph, btree, hashmap, bloom filter, skip list. |
18 | | -- [ ] Keep structure representation and operations canonical here; algorithms over those structures belong in `rust-algorithms` unless they are necessary to explain the structure. |
19 | | -- [ ] Avoid creating content for future courses inside this repo. |
| 15 | +- [x] Re-read RFC-0001 sections before execution: `§1`, `§2`, `§10`, `§12`, `§13`, `§14`, `§15`, `§16`, `§17`, `§20`, `§21`. |
| 16 | +- [x] Treat `rust-data-structures` as a course repository, not a generic crate. |
| 17 | +- [x] Keep the course sequence fixed unless a future RFC changes it: vector, linked list, stack, queue, deque, heap, trie, graph, btree, hashmap, bloom filter, skip list. |
| 18 | +- [x] Keep structure representation and operations canonical here; algorithms over those structures belong in `rust-algorithms` unless they are necessary to explain the structure. |
| 19 | +- [x] Avoid creating content for future courses inside this repo. |
20 | 20 |
|
21 | 21 | ## Repository Foundation |
22 | 22 |
|
|
30 | 30 | - Create: `LICENSE-APACHE` |
31 | 31 | - Create: `LICENSE-CC-BY-SA-4.0.md` |
32 | 32 |
|
33 | | -- [ ] Create `README.md` with the course purpose, its place in Semestre 1, how to navigate `docs/`, `src/`, `examples/`, `tests/`, `benches/`, and `diagrams/`. |
34 | | -- [ ] State in `README.md` that this repo teaches data structures in Rust as part of Jeresoft Academy RFC-0001. |
35 | | -- [ ] Add the planned chapter table in `README.md` with status columns: `planned`, `draft`, `implemented`, `tested`, `benchmarked`, `reviewed`, `published`. |
36 | | -- [ ] Create `AGENTS.md` from RFC-0001 §20, instantiated for `colección = camino troncal / Semestre 1` and `tema = estructuras de datos en Rust`. |
37 | | -- [ ] Create `ROADMAP.md` with the twelve chapters and the no-deadlines project philosophy from RFC-0001 §1. |
38 | | -- [ ] Add dual licensing: MIT OR Apache-2.0 for code, CC BY-SA 4.0 for educational content. |
39 | | -- [ ] Run `git status --short` and confirm only intentional foundation files are pending. |
40 | | -- [ ] Commit: `chore: establish data structures repository foundation`. |
| 33 | +- [x] Create `README.md` with the course purpose, its place in Semestre 1, how to navigate `docs/`, `src/`, `examples/`, `tests/`, `benches/`, and `diagrams/`. |
| 34 | +- [x] State in `README.md` that this repo teaches data structures in Rust as part of Jeresoft Academy RFC-0001. |
| 35 | +- [x] Add the planned chapter table in `README.md` with status columns: `planned`, `draft`, `implemented`, `tested`, `benchmarked`, `reviewed`, `published`. |
| 36 | +- [x] Create `AGENTS.md` from RFC-0001 §20, instantiated for `colección = camino troncal / Semestre 1` and `tema = estructuras de datos en Rust`. |
| 37 | +- [x] Create `ROADMAP.md` with the twelve chapters and the no-deadlines project philosophy from RFC-0001 §1. |
| 38 | +- [x] Add dual licensing: MIT OR Apache-2.0 for code, CC BY-SA 4.0 for educational content. |
| 39 | +- [x] Run `git status --short` and confirm only intentional foundation files are pending. |
| 40 | +- [x] Commit: `chore: establish data structures repository foundation`. |
41 | 41 |
|
42 | 42 | ### Task 2: Create Cargo Crate Skeleton |
43 | 43 |
|
|
57 | 57 | - Create: `src/bloom_filter.rs` |
58 | 58 | - Create: `src/skip_list.rs` |
59 | 59 |
|
60 | | -- [ ] Create `Cargo.toml` with package name `rust-data-structures`, edition, license expression `MIT OR Apache-2.0`, repository URL, and no unnecessary dependencies. |
61 | | -- [ ] Create `src/lib.rs` with crate-level documentation explaining the course and public `pub mod` declarations for all twelve structures. |
62 | | -- [ ] Create one empty module file per structure with a module-level doc-comment describing the learning goal. |
63 | | -- [ ] Run `cargo fmt`. |
64 | | -- [ ] Run `cargo check`. |
65 | | -- [ ] Run `cargo test`. |
66 | | -- [ ] Commit: `chore: scaffold data structures crate`. |
| 60 | +- [x] Create `Cargo.toml` with package name `rust-data-structures`, edition, license expression `MIT OR Apache-2.0`, repository URL, and no unnecessary dependencies. |
| 61 | +- [x] Create `src/lib.rs` with crate-level documentation explaining the course and public `pub mod` declarations for all twelve structures. |
| 62 | +- [x] Create one empty module file per structure with a module-level doc-comment describing the learning goal. |
| 63 | +- [x] Run `cargo fmt`. |
| 64 | +- [x] Run `cargo check`. |
| 65 | +- [x] Run `cargo test`. |
| 66 | +- [x] Commit: `chore: scaffold data structures crate`. |
67 | 67 |
|
68 | 68 | ### Task 3: Create Course Directory Layout |
69 | 69 |
|
|
76 | 76 | - Create: `diagrams/` |
77 | 77 | - Create: `assets/` |
78 | 78 |
|
79 | | -- [ ] Create the standard RFC-0001 §15 directories. |
80 | | -- [ ] Add `docs/SUMMARY.md` listing the twelve chapters in order. |
81 | | -- [ ] Add `diagrams/README.md` explaining Mermaid-first diagram policy. |
82 | | -- [ ] Add `examples/README.md` explaining basic, intermediate, advanced, and real-case examples. |
83 | | -- [ ] Add `tests/README.md` explaining integration-test naming by structure. |
84 | | -- [ ] Add `benches/README.md` explaining that benchmarks validate complexity claims, not vanity performance. |
85 | | -- [ ] Commit: `chore: add course content directories`. |
| 79 | +- [x] Create the standard RFC-0001 §15 directories. |
| 80 | +- [x] Add `docs/SUMMARY.md` listing the twelve chapters in order. |
| 81 | +- [x] Add `diagrams/README.md` explaining Mermaid-first diagram policy. |
| 82 | +- [x] Add `examples/README.md` explaining basic, intermediate, advanced, and real-case examples. |
| 83 | +- [x] Add `tests/README.md` explaining integration-test naming by structure. |
| 84 | +- [x] Add `benches/README.md` explaining that benchmarks validate complexity claims, not vanity performance. |
| 85 | +- [x] Commit: `chore: add course content directories`. |
86 | 86 |
|
87 | 87 | ### Task 4: Add CI and Quality Gates |
88 | 88 |
|
89 | 89 | **Files:** |
90 | 90 | - Create: `.github/workflows/ci.yml` |
91 | 91 | - Create: `.github/workflows/docs.yml` |
92 | 92 |
|
93 | | -- [ ] Add CI jobs for `cargo fmt --check`, `cargo clippy --all-targets --all-features -- -D warnings`, `cargo test --all-targets`, and `cargo test --doc`. |
94 | | -- [ ] Add a docs workflow that validates Markdown links and builds mdBook-compatible docs once the docs tool is chosen for this repo. |
95 | | -- [ ] Keep the initial workflow dependency-free unless a tool is justified in `README.md`. |
96 | | -- [ ] Commit: `ci: add rust quality gates`. |
| 93 | +- [x] Add CI jobs for `cargo fmt --check`, `cargo clippy --all-targets --all-features -- -D warnings`, `cargo test --all-targets`, and `cargo test --doc`. |
| 94 | +- [x] Add a docs workflow that validates Markdown links and builds mdBook-compatible docs once the docs tool is chosen for this repo. |
| 95 | +- [x] Keep the initial workflow dependency-free unless a tool is justified in `README.md`. |
| 96 | +- [x] Commit: `ci: add rust quality gates`. |
97 | 97 |
|
98 | 98 | ## Chapter Production Pipeline |
99 | 99 |
|
@@ -391,4 +391,3 @@ For each chapter, complete the following checklist before moving to the next str |
391 | 391 |
|
392 | 392 | 1. **Subagent-Driven:** dispatch a fresh worker per major task or per chapter, then review each result before continuing. |
393 | 393 | 2. **Inline Execution:** execute the checklist in this session with checkpoints after foundation, CI, and each chapter. |
394 | | - |
0 commit comments