Skip to content

frycz/atm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

atm

Read blog post

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.

Installation

# Global installation (recommended)
bun install -g @frycz/atm
# or
npm install -g @frycz/atm

Alternatively, you can use bunx or npx

bunx @frycz/atm
# or
npx @frycz/atm
# later remember
bunx @frycz/atm [command]
# or
npx @frycz/atm [command]

Prerequisites

Quick Start

# 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 feature

Commands

atm init

Initialize a new private GitHub repository. This command will:

  1. Prompt for your GitHub username (auto-detected from gh)
  2. Prompt for a repository name
  3. Prompt for a local directory (defaults to ./<repo-name>)
  4. Create a private repository on GitHub
  5. Initialize a local git repository with a README
  6. 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-project

Using atm init in an existing repository

If 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.

atm s

Quick save - stages all changes, commits with the default message from config, and pushes to origin.

atm s

atm s <message>

Stages all changes, commits with your custom message, and pushes to origin.

atm s fix login bug
atm s add user authentication

atm -h / atm --help

Print help.

atm -h

atm -v / atm --version

Print version.

atm -v

Configuration

After 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.

Troubleshooting

gh CLI is not installed

Install the GitHub CLI from https://cli.github.com/

macOS:

brew install gh

Windows:

winget install GitHub.cli

Linux:

# Debian/Ubuntu
sudo apt install gh

# Fedora
sudo dnf install gh

gh CLI is not authenticated

Run the following command and follow the prompts:

gh auth login

atm.json not found

You need to initialize the repository first:

atm init

FAQ

Q: What does "atm" stand for?
A: It's "all to main".

Q: Can I tell my friend about atm?
A: Yes, go ahead!

License

MIT

About

Set up private GitHub repos and push commits quickly.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published