shady-cph
v1.0.6
Published
A competitive-programming-helper (cph) runner CLI: receives testcases from a browser extension (shady-cph-parser) and runs your solution against them.
Maintainers
Readme
Shady-cph 1.0.6
The Shady-cph is a CLI tool for Competitive Programming Helper (CPH)
Features:
- Single Command for Fetch Testcase from codeforces.
- Test your solution across the Testcase.
- Single command for Submit Solution to codeforces.
- Extremely Fast and Lightweight Performance.
- Auto Detect Languages.
- Customisable config via shady.json
The Shady-cph is distributed as a global CLI package for Node.js modules.
Note: Currently we only support codeforces (other platform would be added on request)
Installation
Using npm:
npm i -g shady-cphThis will install Shady CLI (sd or shady)
Verify the installation:
sh --versionGet Started:
Note: We use Browser Extension to interact with codeforces but do not worry about installing it, it will automatically install with sd init
- Run
initcommand in the folder where you practice CP: This is setup test environment (.testcase fodler and shady.json) and install zip file of browser extension and give instruction to setup in your browser
sd init- Start the local server to Fetch and Submit:
sd runHow to Fetch Testcase
Visit codeforces, you found a Shady Insert button that inserts the testcase to .testcase folder to your init directory

Run your solution against the latest downloaded testcases:
Run Test
sd test main.cppSubmit your solution:
sd submit solution.cppSee the package source for more details.
Commands & Options
| Command | Arguments / Options | Description |
| :--- | :--- | :--- |
| sd init | [-y, --yes] | Initializes shady.json and .testcase/ directory. Use -y or --yes to skip interactive configuration prompts. |
| sd run | [-p, --port <port>] | Starts the local HTTP server in the background (as a daemon) to listen for testcase inputs. Port defaults to 42585. |
| sd test <file> | [--problem <number>][--platform <platform>] | Compiles (if needed) and executes the specified solution file against testcases. Option --problem runs a specific problem's testcases, and --platform disambiguates when multiple matches exist. |
| sd stop| — | Stops the background server daemon. |
| sd submit <ile> | [--compiler <string>]| | submit the solution code to the codeforces. Submit to latest fetch question (e.g., 2304D ) and if you want to change the question (e.g., 2304A) edit file .testcase/.run-latest |
| sd status | — | Checks and shows the running status of the background server daemon. |
| sd logs | — | View and tail the log stream of the background server daemon. |
| sd clean| — | Stops the server and cleans up/deletes all downloaded testcase files. |
Support
Contect Email: [email protected] \ We will response within 3hr time window
For what i can email
- Need Some new Features
- Have Some Doubt
- Asking Demo
- Want to contribute or open issue (visit shady-cph)
