Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

devsetup

A small CLI that automates two things for any project:

  1. Git setup — global git config, SSH/GPG keys, gh CLI auth, repo init/clone.
  2. Local setup — detects a project's type from its files and installs its dependencies.

Requirements

  • macOS with Homebrew (installed automatically if missing, with confirmation)
  • bash

Usage

./setup <command> [args]

Git

./setup git config              # set global user.name/user.email, defaults, aliases
./setup git keys                # generate/check an SSH key, optionally set up GPG signing
./setup git auth                # install gh (GitHub CLI) if needed and log in
./setup git init [path]         # git init + .gitignore + first commit (default: cwd)
./setup git clone <url> [dir]   # clone a repo

Local (dependency install)

./setup local [path]            # detect project type and install dependencies (default: cwd)

Detects and handles:

Files Type Install command
package.json Node npm / yarn / pnpm install (based on lockfile)
requirements.txt, pyproject.toml Python pip in a .venv, or poetry install
Gemfile Ruby bundle install
go.mod Go go mod download
Cargo.toml Rust cargo build
composer.json PHP composer install

Everything at once

./setup all [path]              # git config + keys + auth, then local setup for path

Layout

setup                 entrypoint, dispatches to subcommands
lib/common.sh          logging, brew helpers, project-type detection
lib/git-config.sh       global git identity/defaults/aliases
lib/git-keys.sh         SSH key + optional GPG signing key
lib/git-auth.sh         gh CLI install + login
lib/git-repo.sh         git init / git clone
lib/local-deps.sh       per-language dependency install
templates/              .gitignore templates used by `git init`

Tip: run it from anywhere

Add this to your shell profile to call it without a path:

alias devsetup="~/devsetup/setup"

About

Shell CLI that automates local dev setup on a new machine: git config, SSH/GPG keys, gh auth, repo init/clone, and dependency detection.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages