|
| 1 | +# Matchbook GitHub Issue Plan |
| 2 | + |
| 3 | +> **WARNING**: This file must NEVER be committed to the repository. |
| 4 | +
|
| 5 | +## Labels |
| 6 | + |
| 7 | +| Label | Color | Description | |
| 8 | +|-------|-------|-------------| |
| 9 | +| on-chain | 7B68EE | Solana program | |
| 10 | +| off-chain | 4682B4 | Backend services | |
| 11 | +| sdk | 20B2AA | Client SDKs | |
| 12 | +| infra | 708090 | Deployment and ops | |
| 13 | +| docs | 0075ca | Documentation | |
| 14 | +| testing | d4c5f9 | Tests | |
| 15 | + |
| 16 | +## Milestones |
| 17 | + |
| 18 | +| Milestone | Description | |
| 19 | +|-----------|-------------| |
| 20 | +| M1: On-Chain Core | Core program with all instructions | |
| 21 | +| M2: Off-Chain Services | Indexer, API, Crank | |
| 22 | +| M3: Client SDKs | Rust and TypeScript SDKs | |
| 23 | +| M4: Production Ready | Deployment, monitoring, docs | |
| 24 | + |
| 25 | +## Issue Breakdown |
| 26 | + |
| 27 | +### Milestone 1: On-Chain Core (16 issues) |
| 28 | + |
| 29 | +| # | Title | Dependencies | Labels | |
| 30 | +|---|-------|--------------|--------| |
| 31 | +| 1 | Project scaffolding | - | on-chain, infra | |
| 32 | +| 2 | State: Market account | #1 | on-chain | |
| 33 | +| 3 | State: OrderBook accounts (B+ tree) | #1 | on-chain | |
| 34 | +| 4 | State: EventQueue account | #1 | on-chain | |
| 35 | +| 5 | State: OpenOrders account | #1 | on-chain | |
| 36 | +| 6 | Error types | #1 | on-chain | |
| 37 | +| 7 | Instruction: CreateMarket | #2, #3, #4, #6 | on-chain | |
| 38 | +| 8 | Instruction: CreateOpenOrders | #5, #6 | on-chain | |
| 39 | +| 9 | Instruction: Deposit | #5, #7 | on-chain | |
| 40 | +| 10 | Instruction: Withdraw | #5, #7 | on-chain | |
| 41 | +| 11 | Instruction: PlaceOrder | #3, #4, #5, #7 | on-chain | |
| 42 | +| 12 | Instruction: CancelOrder | #3, #4, #5, #11 | on-chain | |
| 43 | +| 13 | Instruction: CancelAllOrders | #12 | on-chain | |
| 44 | +| 14 | Instruction: MatchOrders (Crank) | #3, #4, #11 | on-chain | |
| 45 | +| 15 | Instruction: ConsumeEvents | #4, #5, #14 | on-chain | |
| 46 | +| 16 | Integration tests + Devnet deployment | #7-#15 | on-chain, testing | |
| 47 | + |
| 48 | +### Milestone 2: Off-Chain Services (9 issues) |
| 49 | + |
| 50 | +| # | Title | Dependencies | Labels | |
| 51 | +|---|-------|--------------|--------| |
| 52 | +| 17 | Database schema (PostgreSQL + TimescaleDB) | M1 complete | off-chain, infra | |
| 53 | +| 18 | Indexer: Geyser listener | M1 complete | off-chain | |
| 54 | +| 19 | Indexer: Account parser | #18 | off-chain | |
| 55 | +| 20 | Indexer: Book builder | #19 | off-chain | |
| 56 | +| 21 | Indexer: Event processor | #19 | off-chain | |
| 57 | +| 22 | API: REST endpoints | #17, #20, #21 | off-chain | |
| 58 | +| 23 | API: WebSocket server | #20, #21 | off-chain | |
| 59 | +| 24 | Crank service | M1 complete | off-chain | |
| 60 | +| 25 | Redis integration | #22, #23 | off-chain | |
| 61 | + |
| 62 | +### Milestone 3: Client SDKs (7 issues) |
| 63 | + |
| 64 | +| # | Title | Dependencies | Labels | |
| 65 | +|---|-------|--------------|--------| |
| 66 | +| 26 | Rust SDK: Core types | M1 complete | sdk | |
| 67 | +| 27 | Rust SDK: Instruction builders | #26 | sdk | |
| 68 | +| 28 | Rust SDK: HTTP client | #22, #26 | sdk | |
| 69 | +| 29 | Rust SDK: WebSocket client | #23, #26 | sdk | |
| 70 | +| 30 | TypeScript SDK: Types | M1 complete | sdk | |
| 71 | +| 31 | TypeScript SDK: Client | #22, #23, #30 | sdk | |
| 72 | +| 32 | SDK examples | #27, #28, #29, #31 | sdk, docs | |
| 73 | + |
| 74 | +### Milestone 4: Production Ready (7 issues) |
| 75 | + |
| 76 | +| # | Title | Dependencies | Labels | |
| 77 | +|---|-------|--------------|--------| |
| 78 | +| 33 | Docker configuration | M2 complete | infra | |
| 79 | +| 34 | Kubernetes manifests | #33 | infra | |
| 80 | +| 35 | CI/CD pipeline | #33 | infra | |
| 81 | +| 36 | Monitoring setup (Prometheus + Grafana) | #34 | infra | |
| 82 | +| 37 | Alerting rules | #36 | infra | |
| 83 | +| 38 | Operational runbooks | #36, #37 | infra, docs | |
| 84 | +| 39 | README and public documentation | M1, M2, M3 complete | docs | |
| 85 | + |
| 86 | +## Issue Tracking |
| 87 | + |
| 88 | +| Issue # | GitHub # | Created | Title | |
| 89 | +|---------|----------|---------|-------| |
| 90 | +| 1 | [#1](https://github.com/joaquinbejar/matchbook/issues/1) | ✅ | Project scaffolding | |
| 91 | +| 2 | [#2](https://github.com/joaquinbejar/matchbook/issues/2) | ✅ | State: Market account | |
| 92 | +| 3 | [#3](https://github.com/joaquinbejar/matchbook/issues/3) | ✅ | State: OrderBook accounts | |
| 93 | +| 4 | [#4](https://github.com/joaquinbejar/matchbook/issues/4) | ✅ | State: EventQueue account | |
| 94 | +| 5 | [#5](https://github.com/joaquinbejar/matchbook/issues/5) | ✅ | State: OpenOrders account | |
| 95 | +| 6 | [#6](https://github.com/joaquinbejar/matchbook/issues/6) | ✅ | Error types | |
| 96 | +| 7 | [#7](https://github.com/joaquinbejar/matchbook/issues/7) | ✅ | Instruction: CreateMarket | |
| 97 | +| 8 | [#8](https://github.com/joaquinbejar/matchbook/issues/8) | ✅ | Instruction: CreateOpenOrders | |
| 98 | +| 9 | [#9](https://github.com/joaquinbejar/matchbook/issues/9) | ✅ | Instruction: Deposit | |
| 99 | +| 10 | [#10](https://github.com/joaquinbejar/matchbook/issues/10) | ✅ | Instruction: Withdraw | |
| 100 | +| 11 | [#11](https://github.com/joaquinbejar/matchbook/issues/11) | ✅ | Instruction: PlaceOrder | |
| 101 | +| 12 | [#12](https://github.com/joaquinbejar/matchbook/issues/12) | ✅ | Instruction: CancelOrder | |
| 102 | +| 13 | [#13](https://github.com/joaquinbejar/matchbook/issues/13) | ✅ | Instruction: CancelAllOrders | |
| 103 | +| 14 | [#14](https://github.com/joaquinbejar/matchbook/issues/14) | ✅ | Instruction: MatchOrders | |
| 104 | +| 15 | [#15](https://github.com/joaquinbejar/matchbook/issues/15) | ✅ | Instruction: ConsumeEvents | |
| 105 | +| 16 | [#16](https://github.com/joaquinbejar/matchbook/issues/16) | ✅ | Integration tests + Devnet deployment | |
| 106 | +| 17 | [#17](https://github.com/joaquinbejar/matchbook/issues/17) | ✅ | Database schema | |
| 107 | +| 18 | [#18](https://github.com/joaquinbejar/matchbook/issues/18) | ✅ | Indexer: Geyser listener | |
| 108 | +| 19 | [#19](https://github.com/joaquinbejar/matchbook/issues/19) | ✅ | Indexer: Account parser | |
| 109 | +| 20 | [#20](https://github.com/joaquinbejar/matchbook/issues/20) | ✅ | Indexer: Book builder | |
| 110 | +| 21 | [#21](https://github.com/joaquinbejar/matchbook/issues/21) | ✅ | Indexer: Event processor | |
| 111 | +| 22 | [#22](https://github.com/joaquinbejar/matchbook/issues/22) | ✅ | API: REST endpoints | |
| 112 | +| 23 | [#23](https://github.com/joaquinbejar/matchbook/issues/23) | ✅ | API: WebSocket server | |
| 113 | +| 24 | [#24](https://github.com/joaquinbejar/matchbook/issues/24) | ✅ | Crank service | |
| 114 | +| 25 | [#25](https://github.com/joaquinbejar/matchbook/issues/25) | ✅ | Redis integration | |
| 115 | +| 26 | [#26](https://github.com/joaquinbejar/matchbook/issues/26) | ✅ | Rust SDK: Core types | |
| 116 | +| 27 | [#27](https://github.com/joaquinbejar/matchbook/issues/27) | ✅ | Rust SDK: Instruction builders | |
| 117 | +| 28 | [#28](https://github.com/joaquinbejar/matchbook/issues/28) | ✅ | Rust SDK: HTTP client | |
| 118 | +| 29 | [#29](https://github.com/joaquinbejar/matchbook/issues/29) | ✅ | Rust SDK: WebSocket client | |
| 119 | +| 30 | [#30](https://github.com/joaquinbejar/matchbook/issues/30) | ✅ | TypeScript SDK: Types | |
| 120 | +| 31 | [#31](https://github.com/joaquinbejar/matchbook/issues/31) | ✅ | TypeScript SDK: Client | |
| 121 | +| 32 | [#32](https://github.com/joaquinbejar/matchbook/issues/32) | ✅ | SDK examples | |
| 122 | +| 33 | [#33](https://github.com/joaquinbejar/matchbook/issues/33) | ✅ | Docker configuration | |
| 123 | +| 34 | [#34](https://github.com/joaquinbejar/matchbook/issues/34) | ✅ | Kubernetes manifests | |
| 124 | +| 35 | [#35](https://github.com/joaquinbejar/matchbook/issues/35) | ✅ | CI/CD pipeline | |
| 125 | +| 36 | [#36](https://github.com/joaquinbejar/matchbook/issues/36) | ✅ | Monitoring setup | |
| 126 | +| 37 | [#37](https://github.com/joaquinbejar/matchbook/issues/37) | ✅ | Alerting rules | |
| 127 | +| 38 | [#38](https://github.com/joaquinbejar/matchbook/issues/38) | ✅ | Operational runbooks | |
| 128 | +| 39 | [#39](https://github.com/joaquinbejar/matchbook/issues/39) | ✅ | README and public documentation | |
0 commit comments