All Projects → devbuddy → devbuddy

devbuddy / devbuddy

Licence: MIT license
Setup your projects in a consistent way. Help other devs onboard easily!

Programming Languages

go
31211 projects - #10 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to devbuddy

destructible terrain demo
A simple demo on how to create destructible terrain on Godot.
Stars: ✭ 23 (-53.06%)
Mutual labels:  project
IoT
A repository dedicated to IoT(internet of things ) and python scripts
Stars: ✭ 24 (-51.02%)
Mutual labels:  project
chitchat
chitchat driven by golang
Stars: ✭ 98 (+100%)
Mutual labels:  project
tidyweek
Repo dedicated to #tidyweek & Mentorship pilot
Stars: ✭ 25 (-48.98%)
Mutual labels:  project
mcnp
📊复杂网络建模课程设计. The project of modeling of complex networks course.
Stars: ✭ 69 (+40.82%)
Mutual labels:  project
NodeServer
Compare node.js servers
Stars: ✭ 35 (-28.57%)
Mutual labels:  project
Awesome Python Scripts
🚀 Curated collection of Awesome Python Scripts which will make you go wow. Dive into this world of 360+ scripts. Feel free to contribute. Show your support by ✨this repository.
Stars: ✭ 198 (+304.08%)
Mutual labels:  project
laminas-developer-tools
Module for developer and debug tools for use with laminas-mvc applications.
Stars: ✭ 19 (-61.22%)
Mutual labels:  developer-tools
project-defude
Refocus an image just by clicking on it with no additional data
Stars: ✭ 69 (+40.82%)
Mutual labels:  project
EnvCLI
Don't install Node, Go, ... locally - use containers you define within your project. If you have a new machine / other contributors you just have to install docker and envcli to get started.
Stars: ✭ 93 (+89.8%)
Mutual labels:  developer-tools
wrangler
Wrangler Transform: A DMD system for transforming Big Data
Stars: ✭ 63 (+28.57%)
Mutual labels:  project
github-project-todo-md
A Tool that sync between GitHub Project Board <-> Todo Markdown text.
Stars: ✭ 17 (-65.31%)
Mutual labels:  project
feater
Tool for rapid deployment of selected features of your web application to isolated testing or demo environments.
Stars: ✭ 27 (-44.9%)
Mutual labels:  developer-tools
assign-one-project-github-action
Automatically add an issue or pull request to specific GitHub Project(s) when you create and/or label them.
Stars: ✭ 140 (+185.71%)
Mutual labels:  project
responsive-project-landing-page
A responsive landing page for open source projects
Stars: ✭ 24 (-51.02%)
Mutual labels:  project
iam
企业级的 Go 语言实战项目:认证和授权系统
Stars: ✭ 1,900 (+3777.55%)
Mutual labels:  project
swoft-project
基于Swoft的项目结构
Stars: ✭ 17 (-65.31%)
Mutual labels:  project
nanobox-rails
Quickly set up a Ruby on Rails app on Nanobox, the ideal platform for developers. With Nanobox, Rails app developers can set up instant, isolated development environments that can be shared among team members. Rails apps created using Nanobox can be automatically deployed to AWS, Azure, Google Cloud, and other cloud hosts without the need for de…
Stars: ✭ 19 (-61.22%)
Mutual labels:  developer-tools
ethernal-cli
CLI to sync transactions and Truffle artifacts with Ethernal.
Stars: ✭ 14 (-71.43%)
Mutual labels:  developer-tools
fs-make
Make a folder structure from its description
Stars: ✭ 14 (-71.43%)
Mutual labels:  project

DevBuddy

Go Report Card tests GitHub Release GitHub Release Date Gitter GitHub Release

Contents:

Note: contributors are welcome to join the project! 👩‍💻👨‍💻🤖

The project is evolving slowly, mostly because DevBuddy covers my current needs.

I would love to help people implement their languages/environments/tools/dev-flow.

What is this?

DevBuddy 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 DevBuddy, pushing a change on a project you never touched look like this:

  • bud clone devbuddy/devbuddy
  • bud up
  • git commit
  • bud test
  • git push

Status and progress

DevBuddy is more useful for Python, Go and Node projects. More languages will be natively supported. DevBuddy is still useful for languages without native support thanks to the custom task.

See the project config documentation.

Tasks:

Python:

  • Python environment (pyenv + virtualenv)
  • Pip (requirements file)
  • Pipenv (support for Pipfile)

Go:

  • Go environment (with GOPATH)
  • Go modules
  • Dep (support for Go Dep)

Node:

  • Node environment
  • Dependencies with NPM
  • Dependencies with Yarn planned

Ruby: planned

Rust: planned

Others:

  • Homebrew
  • Apt
  • Custom (conditional shell command)
  • Docker Compose (manage a docker-compose setup): planned

Features:

  • Notification when important files (eg: requirements.txt) are updated locally (eg: by git pull)
  • A help command to guide a new developer based on dev.yml
  • A upgrade command to auto-upgrade DevBuddy

Code hosting platform:

  • Github
  • Gitlab
  • Bitbucket (with Git)

Shell integration

  • Bash
  • Zsh

Install

Homebrew

Install the Homebrew tap:

$ brew install devbuddy/devbuddy/devbuddy

Install the latest release:

$ brew install devbuddy

Install from the master branch:

$ brew install --HEAD devbuddy

Go install

Note: use this if your your PATH includes the GOBIN path.

Latest release:

$ go install github.com/devbuddy/devbuddy/cmd/bud@latest

Specify a version, like v0.11.1:

$ go install github.com/devbuddy/devbuddy/cmd/[email protected]

Manual

Select the version to download:

Latest:

$ VERSION=$(curl -Ls -o /dev/null -w %{url_effective} "https://github.com/devbuddy/devbuddy/releases/latest" | grep -oE "[^/]+$")

Previous releases:

$ VERSION="v0.12.0"

Download the binary

Linux Intel:

$ curl -L https://github.com/devbuddy/devbuddy/releases/download/${VERSION}/bud-linux-amd64 > /tmp/bud

Linux ARM:

$ curl -L https://github.com/devbuddy/devbuddy/releases/download/${VERSION}/bud-linux-arm64 > /tmp/bud

macOS Intel:

$ curl -L https://github.com/devbuddy/devbuddy/releases/download/${VERSION}/bud-darwin-amd64 > /tmp/bud

macOS Apple Silicon:

$ curl -L https://github.com/devbuddy/devbuddy/releases/download/${VERSION}/bud-darwin-arm64 > /tmp/bud

Install the binary

$ sudo install /tmp/bud /usr/local/bin/bud

Setup

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

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

A safer version:

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

Configuration

If you usual work with repos from the same organization (like your personal one), you can set it as a default:

export BUD_DEFAULT_ORG="google"

Then you can use it directly to create, clone and jump to those repos:

$ bud clone pytruth

Rather than:

$ bud clone google/pytruth

Usage

★ Add a dev.yml file in your project:

up:
  - go: 1.9.2
  - golang_dep
  - python: 3.6.4rc1
  - pip:
    - requirements.txt

commands:
  test:
    desc: Run the tests
    run: script/test
  lint:
    desc: Lint the project
    run: script/lint

open:
  staging: https://staging.myapp.com
  doc: https://godoc.org/github.com/org/myapp

See DevBuddy own dev.yml

$ bud
Usage:
  bud [flags]
  bud [command]

Available Commands:
  cd          Jump to a local project
  clone       Clone a project from github.com
  create      Create a new project
  help        Help about any command
  inspect     Inspect the project and its tasks
  open        Open a link about your project
  up          Ensure the project is up and running
  upgrade     [experimental] Upgrade DevBuddy to the latest available release.

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

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

License

MIT

Authors:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].