Pew pew needless GitHub resources!
Clean up repositories, Codespaces, and gists from the CLI.
To install the latest version of github-pewpew CLI, run this command:
npm i -g github-pewpew
To quickly start using it, run the following command:
ghpew
Available commands:
ghpew repos
ghpew repos --archive
ghpew repos -a
ghpew repos --force
ghpew repos --regex '^adrianmg/demo-'
ghpew repos --list 'adrianmg/one,adrianmg/two'
ghpew repos --list 'adrianmg/one,adrianmg/two' --force
ghpew gists
ghpew codespaces
ghpew help
Repository selection is interactive by default. --regex uses a case-sensitive JavaScript
regular expression against each full owner/repository name; pass the pattern without /
delimiters. --list accepts exact, comma-separated owner/repository names and stops without
processing anything if a name is not available. Every selection mode asks for confirmation
unless --force is provided, and either filtering flag can be combined with --archive.
Because --force processes the selection immediately, review it carefully first.
Codespaces and gists use interactive multi-selection and always ask for confirmation before deleting anything. Gists are identified by their description or first filename, visibility, and unique ID. Gist deletion cannot be undone. The first run after upgrading may ask you to sign in again so the CLI can request permission to manage gists.
Have you ever had too much fun with GitHub and ended up creating too many throwaway repositories, Codespaces, or gists? Me too π !
I made this little CLI tool to clean up GitHub clutter quickly. Let me know what you think.
Do you want to know more? Visit the official website.
The important parts of the project are the following:
βββ .github GitHub Actions workflows and repo settings
βββ src
β βββ commands
βΒ Β βΒ Β βββ codespaces.js Contains the command to delete codespaces
βΒ Β βΒ Β βββ gists.js Contains the command to delete gists
βΒ Β βΒ Β βββ repos.js Contains the command to process repositories
βΒ Β βββ config.js Contains the configuration manager
βΒ Β βββ github.js Business logic: authentication and API calls
βΒ Β βββ repo-options.js Parses and resolves repository selection options
βΒ Β βββ ui.js CLI interactions
βΒ Β βββ utils.js Lightweight utility functions
βββ test
βΒ Β βββ test.js Test coverage with the Node.js test runner
βββ .prettierrc Code formatting configuration
βββ index.js The main thread of execution
βββ README.md you're looking at it
To set up your environment to develop this tool, run:
- Install Node.js 20 or newer
npm installnode index
You can also run node index DEV=true CLIENT_ID=<YOUR_TESTING_CLIENT_ID> if you want to use your own client id for development and testing purposes.
The tests use the built-in Node.js test runner and can be run with npm test.
If you run into any issues or you'd like to share your thoughts, feel free to open an issue in this repository or hit me up on Twitter.
Logo designed by Rapha Lopes. Thanks to @sergiou87, @zschiller, @mamuso, @anishde12020, and @jdvr for contributing with their feedback and ideas πββοΈ.
The tool is available as open-source under the terms of the MIT License.

