devbuddy

command module
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Dec 28, 2017 License: MIT Imports: 1 Imported by: 0

README

Dad 👴

Go Report Card Build Status GitHub Release GitHub Release Date

What is this?

Dad is an open-source implementation of an amazing internal tool developed at Shopify called "Dev".

The first goal of this tools is to automate the setup tasks required to work on a project.

With Dad, pushing a change on a project you never touched look like this:

  • dad clone Shopify/sarama
  • dad up
  • Commit your changes
  • dad test
  • git push

Scope and Status

Dad will start as a highly compatible implementation of Dev (when possible).

Dad is currently a working prototype. Core features are being implemented.

Current limitations:

  • Github is the only hosting platform implemented
  • Bash is the only shell supported

Install

$ bash -c "$(curl -L https://raw.githubusercontent.com/pior/dad/master/install.sh)"

Setup

★ Install the shell integration (in ~/.bash_profile):

eval "$(dad --shell-init --with-completion)"

A safer version:

type dad > /dev/null 2> /dev/null && eval "$(dad --shell-init --with-completion)"

Usage

★ Add a dev.yml file in your project:

up:
  - custom:
      met?: brew info upx 2> /dev/null > /dev/null
      meet: brew install upx

commands:
  test:
    run:
      make test

  lint:
    run: make lint

See Dad own dev.yml

$ dad
Usage:
  dad [flags]
  dad [command]

Available Commands:
  cd          Jump to a local project
  clone       Clone a project from github.com
  help        Help about any command
  lint        Custom
  test        Custom: Run tests
  up          Ensure the project is up and running

Flags:
  -h, --help              help for dad
      --shell-init        Shell initialization
      --with-completion   Enable completion during initialization

Use "dad [command] --help" for more information about a command.

Development

★ Clone the repository:

~ $ mkdir -p ~/src/github.com/pior
~ $ cd ~/src/github.com/pior
~/src/github.com/pior $ git clone git@github.com:pior/dad.git

★ Fetch the dependencies (in vendor)

~/src/github.com/pior $ dep ensure

★ Install the go executable somewhere in your PATH:

~/src/github.com/pior $ go install
Release
$ script/release v1.0.0

The big idea:

  1. Push the release code to the master branch
  2. Tag the commit: git tag v1.2.3 && git push --tags
  3. Admire the release on Github

License

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
cmd

Jump to

Keyboard shortcuts

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