CP-Booster
ExpressJs, Bash ScriptsA minimal competitive programming workflow tool built around CPH, Vim, and a custom local judge. The goal is simple: Parse fast. Code fast. Test fast. Stay inside the terminal.
// architecture
Browser Extension (CPH)
│ detects problem page, scrapes name + test cases
│ POST / → JSON { name, tests: [{input, output}] }
▼
┌──────────────────────────────────────────────────────┐
│ Express Server (localhost:1321) │
│ │
│ mode = "single" mode = "contest" │
│ ┌────────────────┐ ┌──────────────────────┐ │
│ │ sanitize(name) │ │ letter = A, B, C … │ │
│ │ write name.cpp │ │ write letter.cpp │ │
│ │ write test I/O │ │ write letter_inN.txt │ │
│ └───────┬────────┘ └──────────┬───────────┘ │
│ └──────────┬────────────────┘ │
│ │ inject template.cpp │
│ auto-close after 500 ms idle │
└─────────────────────┬────────────────────────────────┘
│ files land in CWD
┌───────────────────▼──────────────────────────────┐
│ run │
│ bash script (scripts/run) │
│ │
│ 1. g++ -std=c++20 -O2 → temp.out │
│ 2. for each name_inN.txt: │
│ ./temp.out < input > temp.txt │
│ diff temp.txt name_outN.txt │
│ Accepted / WA + full diff dump │
│ 3. run -d → debug (raw stdin) │
└───────────────────────────────────────────────────┘