Commit d9cfb81
feat: Complete Rust rewrite replacing TypeScript implementation
- Rewrite entire codebase from TypeScript/Node.js to Rust
- Fix all 10 security vulnerabilities (3 CRITICAL, 4 HIGH, 3 MEDIUM):
- Command injection eliminated via Command::arg() (no shell interpolation)
- File permissions enforced: 0o600 files, 0o700 directories
- Atomic PID locking via flock(2) (no TOCTOU race)
- Chat ID validation on ALL update types including callbacks
- Rate limiting via governor token-bucket (25 req/sec)
- Safe JSON parsing (serde Result, no panics)
- Single binary (ctm) with clap subcommands: start, hook, status, doctor, setup
- Dependencies: tokio, teloxide 0.13, rusqlite, governor, nix, serde, clap
- Remove all TypeScript, Node.js, npm artifacts
- Add comprehensive docs: Architecture, Setup, Development, Security guides
- Add 6 ADRs documenting key architectural decisions
- Add GitHub Actions CI workflow (check, test, clippy, fmt, release builds)
- 13 unit tests passing across session, socket, formatting, injector, config
- Migrate git remote to DreamLab-AI/Claude-Code-Rust-Telegram
Co-Authored-By: claude-flow <ruv@ruv.net>1 parent 041ac35 commit d9cfb81
70 files changed
Lines changed: 8444 additions & 19262 deletions
File tree
- .claude-flow/metrics
- .github/workflows
- docs
- adr
- src
- bot
- bridge
- hooks
- service
- utils
- tests/utils
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
This file was deleted.
This file was deleted.
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | | - | |
4 | | - | |
5 | | - | |
| 1 | + | |
| 2 | + | |
6 | 3 | | |
7 | 4 | | |
8 | 5 | | |
| |||
34 | 31 | | |
35 | 32 | | |
36 | 33 | | |
37 | | - | |
38 | | - | |
39 | | - | |
This file was deleted.
0 commit comments