npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

cpbooster

v2.6.5

Published

cpbooster is a cross-platform CLI tool designed to boost competitive programmer's speed during contests by automating various routine tasks

Downloads

265

Readme

cpbooster · GPLv3 license npm version npm

Competitive Programming Booster 🡲 https://searleser97.github.io/cpbooster/

About

cpbooster is a cross-platform CLI tool designed to boost competitive programmer's speed during contests by automating various routine tasks like compiling and testing, debugging, cloning testcases, loading template, etc. The console command suits any coding environment (i.e. VSCode, Jetbrains IDEs, Vim, Emacs, Geany, Sublime Text, ...) and it’s very easy to use. Vim / NeoVim users can install cpbooster.vim plugin to boost their speed even more.

Using NeoVim:

video-demo-min

For Installation and Setup Instructions Visit cpbooster Website

https://searleser97.github.io/cpbooster/

Features

  1. cpbooster comes with a short alias command called cpb to avoid writing the long command each time

  2. Automatically clone sample testcases files with corresponding source code files with template loaded into a desired directory

    • cpb clone waits for competitive companion plugin to send parsed data for each problem
  3. Test your code against sample testcases quickly

    • cpb test mycode.cpp test your program against all available test cases
    • cpb test mycode.cpp -t 1 test your program against the test case with the given id
    • cpb test /some/path/mycode.cpp test a program that is not located in your current location

    Supported results:

    • AC (Accepted)
    • WA (Wrong Answer) Shows differences between accepted output and your output beautifully
    • TLE (Time Limit Exceeded)
    • RTE (Runtime Error)
    • CE (Compilation Error)
  4. Run code with your own debugging flags easily

    • cpb test mycode.cpp -d to use keyboard as input
    • cpb test mycode.cpp -t 2 -d to use a test case file as input
    • cpb test /some/path/mycode.cpp -d debug a program that is not located in your current location
  5. Submit your code from the terminal really quickly.

    • cpb submit mycode.cpp submits your file to the corresponding judge.
  6. open your preferred editor in the contest directory immediately after cloning it. See Editors

  7. Create source files with corresponding template loaded

    • cpb create a.py creates single file with corresponding template loaded based on file extension
    • cpb create {a..n}.cpp creates multiple consecutive files from "a.cpp" to "n.cpp"
    • cpb create {a...n}.cpp same as previous command (Any amount of dots greater than 1 work)
    • cpb create {a-n}.cpp same as previous command (Single dash also works)
    • cpb create /some/path/a.cpp creates "a.cpp" in the specified path instead of current location
    • cpb create /some/path/{a-n}.cpp creates "a.cpp ... n.cpp" in the specified path instead of current location
  8. Vim plugin cpbooster.vim boosts your speed even more

  9. Flat File Structure. See Why Flat File Structure

How to Contribute

  1. Fork this repository and clone it locally: git clone https://github.com/{yourUsername}/cpbooster
  2. cd (change directory) to cpbooster repo directory
  3. Install dependencies: run npm install
  4. Install cpbooster from source: npm run install:dev
  5. Make code changes

Before making a Pull Request

  1. Lint your code and fix possible linting errors: npm run lint
  2. Verify all tests pass: npm t

Recommended VSCode extensions

Future updates

  • Add the possibility to test interactive problems
  • Add the possibility to test current file using test cases of another file (test --as <filename>)
  • Add the possibility to debug current file using test cases of another file (test --as <filename> -d)
  • Add support for Java
  • Fully support windows CMD.
  • Add Stress tests (using brute force solution and tests generator)

Final Notes

  • I am open to feature requests.
  • Pull Requests are also welcome.

License

cpbooster is licensed under the GNU General Public License v3.0