In the era of AI tools, drafting new ideas is easier than ever. atm helps you set up private GitHub repos for your ideas and save iterations quickly.
With a single atm init command, the tool prepares a private repository. Develop your project by adding changes and quickly pushing them with atm s. That's it.
No need to visit github.com to create a private repo and set it up locally. No need for "add" -> "commit" -> "push" repetitive flow.
# Global installation (recommended)
bun install -g @frycz/atm
# or
npm install -g @frycz/atmAlternatively, you can use bunx or npx
bunx @frycz/atm
# or
npx @frycz/atm
# later remember
bunx @frycz/atm [command]
# or
npx @frycz/atm [command]- Node.js >= 14
- GitHub CLI (
gh) installed and authenticated
# Create a new private GitHub repo
atm init
# go to the repo directory (if not already there)
cd [repo-directory]
# Add or modify files
# Then commit all and push to origin with one command:
atm s
# Or with a custom commit message
atm s add new featureInitialize a new private GitHub repository. This command will:
- Prompt for your GitHub username (auto-detected from
gh) - Prompt for a repository name
- Prompt for a local directory (defaults to
./<repo-name>) - Create a private repository on GitHub
- Initialize a local git repository with a README
- Push the initial commit
$ atm init
GitHub username [yourname]:
Repository name: my-project
Directory [./my-project]:
Creating private repo yourname/my-project...
Initializing git...
Pushing to GitHub...
Done! Repository created at /path/to/my-projectIf you run atm init inside an existing git repository, it will detect this and offer to create only the atm.json configuration file. This is useful when you want to start using atm with a project that already has a GitHub remote set up.
$ cd existing-project
$ atm init
Git repository detected in: /path/to/existing-project
Remote URL: git@github.com:yourname/existing-project.git
Host: github
Visibility: private
This will only create an atm.json file. No new repository will be created.
Create atm.json in this directory? [y/N]: y
atm.json created successfully.
You can now use 'atm s' to save and push changes.Quick save - stages all changes, commits with the default message from config, and pushes to origin.
atm sStages all changes, commits with your custom message, and pushes to origin.
atm s fix login bug
atm s add user authenticationPrint help.
atm -hPrint version.
atm -vAfter running atm init, a atm.json file is created in your repository containing:
{
"defaultCommitMessage": "save"
}You can change the default commit message used by atm s by editing this file.
Install the GitHub CLI from https://cli.github.com/
macOS:
brew install ghWindows:
winget install GitHub.cliLinux:
# Debian/Ubuntu
sudo apt install gh
# Fedora
sudo dnf install ghRun the following command and follow the prompts:
gh auth loginYou need to initialize the repository first:
atm initQ: What does "atm" stand for?
A: It's "all to main".
Q: Can I tell my friend about atm?
A: Yes, go ahead!
MIT