spacer

module
v0.0.0-...-d6d0674 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2021 License: MIT

README

Spacer

An opinionated command-line utility for creating and maintaining multiple organizational workspaces

license

MIT licensed. See license.txt for more info.

status

This project is currently in an pre-alpha state.

DO NOT USE IN PRODUCTION.

description

Spacer is an opinionated command-line utility for creating and maintaining workspaces across multiple organizations.

It was created to simplify the process of keeping separate personas across different code projects.

usage

Organizations are pseudo-anonymous accounts with a specific provider (currently only supporting git or the gh Github CLI). The benefit of an organization is that it automatically sets your preferences to use a specific user name and email when creating commits to prevent leaking your real name and personal email when pushing code for side-projects.

# Create a new organization using the Git provider w/ a custom Git remote URL. Omitting the URL saves projects locally only.
> spacer org create myorg --provider=git --git-url https://secret.cave/git-projects --git-user batman --name=Batman --email=batman@secret.cave
# Create a new organization using the Github provider.
> spacer org create myorg --provider=gh --gh-user batman --name=Batman --email=batman@secret.cave

Repositories are Git code repositories under an organization.

# Create a new repository in an organization w/ default branch main
> spacer org myorg repo create myrepo --default-branch=main
# Delete a repository in an organization
> spacer org myorg repo delete myrepo

environment

SPACER_HOME - The directory for new workspace creation. Defaults to ~/.spacer/workspace/ SPACER_CONFIG - The default spacer configuration file.

development

build

This repository is using the [Bazel][www-bazel] build framework.

To build:

  1. Install Bazel (first time only): brew install bazel
  2. Run the build: bazel build //...
testing

To run the tests:
bazel test //...

running

To compile and run Spacer:
bazel run //cmd:spacer

[//] # (References) [www-bazel]: https://docs.bazel.build

Directories

Path Synopsis
internal
commands/orgs
The main `org` command
The main `org` command
commands/repos
The main `repo` command
The main `repo` command
plugins
gh command
git command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL