• Stars
    star
    116
  • Rank 294,368 (Top 6 %)
  • Language
    Shell
  • License
    MIT License
  • Created over 8 years ago
  • Updated about 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

๐Ÿ‘ป Zero Setup Development Environment without Docker or Vagrant

dev.env

dev.env is a Zero Setup Development Environment.

What it does it exactly what it named, help you quickly create a development environment with no setup required - dev.env will setup and start everything for you.

What platform now supported?

Currently, only Mac OS X has been tested. Please help me check it on Linux and Windows

How to install

To install dev.env, you can clone this repository to your local machine:

git clone https://github.com/huytd/dev.env

Then run install.sh:

./install.sh

How to use?

First, in your new project folder, create dev.env file, to define everything needed for your dev stack:

touch dev.env

For example, your dev stack needed:

  • Node v5.3.0
  • MongoDB running on port 1234
  • Redis running on port 3214
  • You will run app.js

So your dev.env file should be:

env:
  node 5.3.0
apps:
  mongo 1234
  redis 3214
run:
  node app.js

When you are start to dev, just run:

dev

What the heck is dev.env file?

dev.env is a configuration file that define your dev stack, there are 3 main sections in this file:

  • env: define the environment you need to run the application
  • apps: define the applications needed to start before running your app
  • run: the scripts in this section will run after previous sections started

Environment is kind of version manager. Currently, dev.env support 2 environments: node and ruby, but it doesn't mean you can't run java or python dev stack with dev.env. Just try!!

For Applications, we now have:

  • MongoDB
  • Redis
  • PostgresSQL

How to add new environment

Please check the code in env folder for more detail. You can add new environment by adding new file in this folder.

For example, you may want to add go.sh for Golang, or python.sh for Python, this new script will check if your current machine already has this language installed or not, if you, it will download and install that language, then activate it in your environment.

The file name will be the environment name that you put in dev.env file.

Remember to implement all 3 functions:

  • check(): for checking if current developing machine already has this environment or not
  • install(): for installing the missing environment if needed
  • active(): for activating current environment

How to add new application

Same as environment, you can add new application (for example: rethinkDB, couchdb, mysql or nginx, apache,...)

Add new file in apps folder for new application. See the pre-installed applications file for the implementation.

Application file also have 3 functions:

  • check(): check if current developing machine already has this application or not
  • install(): download and install the application, recommend using brew
  • active(): start the application, need to run as daemon to not blocking the run script

How can I contribute?

Yeah! Glad you asked. My code isn't cool yet, I know it!

If you can fix it, or you want to integrate new apps, or new env, feel free to create a new Pull request. If you can't code, but still want to help, you can help me review on mine or other code.

Or even fix my typos ๐Ÿ˜…

License

This project published under MIT License. Please see LICENSE.md for more detail.

More Repositories

1

kanban-app

Kanban board built with Rust and Elm
Rust
1,774
star
2

pomoday-v2

A keyboard only task management web app
TypeScript
577
star
3

swift-http

HTTP Implementation for Swift on Linux and Mac OS X
Swift
449
star
4

kanelm

Kanban board built with Elm
Elm
296
star
5

ascii-d

A cross-platform ASCII diagram drawing app https://web.ascii-draw.com
Rust
263
star
6

goxkey

Bแป™ gรต tiแบฟng Viแป‡t khรดng cรณ chแปฉc nฤƒng gรฌ ngoร i gรต tiแบฟng Viแป‡t...
Rust
220
star
7

azeroth-js

๐Ÿบ Yet another Static blog engine. Built with โค๏ธ for Github
CSS
215
star
8

playgo

๐Ÿ‘ป a real playful Golang Playground
Go
184
star
9

node-online-game-template

JavaScript
176
star
10

sequencegenius

Transform your idea to diagrams. With AI, of course, it's 2023. https://sequencegenius.com/
TypeScript
124
star
11

node-js-game-server

Easy to use Multiplayer Game Server based on Node.JS. Suitable with HTML5 Websocket, Unity3D (Web/PC, Android, iOS,...), Flash, C++/OpenGL/DirectX, XNA clients,...
JavaScript
104
star
12

haskplex-font

102
star
13

js-playground

A JS playground with some decent visualization
TypeScript
97
star
14

codedaily-v3

Rust
87
star
15

vim-config

Vim Script
83
star
16

rust-webapp-template

Template project for Rust web app
Rust
67
star
17

ristretto-rs

โ˜•๏ธ the absolute perfect espresso
CSS
63
star
18

taskedit

๐Ÿ“ an online notepad that only support markdown... lol
JavaScript
59
star
19

lichess-tv

Watch live chess from your terminal
C
56
star
20

hackernews-rss-reader

Read HackerNews's RSS feed
Rust
55
star
21

everyday

Trying to write about what I learned everyday
JavaScript
55
star
22

stackoverlazy

StackOverflow in your terminal
Go
54
star
23

code-playground

An online code playground that supports C++, Python, JavaScript and Rust
TypeScript
50
star
24

angularjs-markdown-editor

Fully working Markdown Editor written in AngularJS
JavaScript
41
star
25

datatify

Simple single class used to display network status change notification (switch between WIFI, 3G and No connection)
Objective-C
37
star
26

OctoCmd

๐Ÿ™ Do more on Mac, efficiently!
Swift
37
star
27

comby-search

A code search tool based on Comby
Rust
36
star
28

gitq

JavaScript
36
star
29

snarkyed

GPU rendered text editor written in Rust
Rust
34
star
30

adb.py

Tiny Python lib to write your own debug script for Android application with ADB
Python
32
star
31

xaudio

TypeScript
32
star
32

snackymini-keyboard

Snackymini Keyboard
C++
29
star
33

markto

Awesome notepad replacement with Markdown support for your Mac
JavaScript
26
star
34

nodben

Benchmark tool for any running process for Mac - Written in NodeJS
JavaScript
25
star
35

coffee-now

โ˜• CoffeeScript Playground
CoffeeScript
24
star
36

golang-checklist

A checklist to learn Golang
24
star
37

slack-save-plugin

Save any Slack messages
JavaScript
23
star
38

helix-ui

Rust
22
star
39

actix-taskqueue

Rust
21
star
40

vim-espresso-tutti

Vim Script
21
star
41

vscode-nord-light

19
star
42

productivity-watcher

Swift
19
star
43

mini-searcher

A dead simple search engine for static site blogs
Rust
19
star
44

txtask

Ask Ollama about your local text files
Rust
18
star
45

xaudio-cli

TUI Youtube Player using Elm Architecture and mpv JSON IPC
Rust
17
star
46

org-journal-list

A package to display a list of org-notes with preview.
Emacs Lisp
17
star
47

arduino-flappybird

Flappy Bird on Arduino
C++
17
star
48

electron-typescript-react-tailwind-parcel

A template for making desktop app with cool technologies
JavaScript
16
star
49

huy.rocks

My personal site
TypeScript
16
star
50

opencl-benchmark

Sample program to compare calculation performance between CPU and GPU
C
16
star
51

lit

๐Ÿ”ฅ lit is an experimental WebSocket game server based on Engine.IO
JavaScript
16
star
52

vimouse-rs

Use keyboard to control your mouse
Rust
16
star
53

vscode-tokyo-city

15
star
54

highl.it

Highlighter anywhere
JavaScript
15
star
55

csn-search

Search for music album on old.chiasenhac.vn
Haskell
15
star
56

trello-rs

Trello on your terminal
Rust
14
star
57

vscode-github-light-monochrome

14
star
58

object-model

๐Ÿ™ object-model is a tiny package that help you use any object as a Model.
JavaScript
14
star
59

js-chip8-emulator

Chip 8 Emulator - Experimental
JavaScript
14
star
60

rcat

Colorized cat written in Rust
Rust
14
star
61

speech

A tool to practice English speaking
Vue
13
star
62

jsondb-rs

A RESTful JSON storage service
Rust
13
star
63

pure-js-vote

๐Ÿ” Yet another hamburger...
HTML
13
star
64

vscode-forest-all-nighter

13
star
65

skimGPT

Too lazy to read the full article? Skim it
Rust
12
star
66

dungeon-generator

TypeScript
12
star
67

clinews

News reader for hackers, geek, and command-line fanatics =]]
Python
12
star
68

roboplex-font

11
star
69

stocktable

Quick and extendable stock comparision tool
TypeScript
11
star
70

scrollreading

An extension to help you read better
JavaScript
11
star
71

makefile-boilerplate

๐Ÿค A boilerplate for any-language-projects using Makefile.
Makefile
11
star
72

tradingview-mac-rs

Unofficial TradingView Desktop App
Rust
11
star
73

manga-frame-detect-opencv

Detect frames in a Manga page with OpenCV
Jupyter Notebook
10
star
74

highlightjs-focus

Line focus plugin for Highlight.js
TypeScript
10
star
75

web-debugger

TypeScript
10
star
76

firefox-safari

My attempt to make Firefox as compact as Safari
CSS
10
star
77

snacky-news-rs

Rust
9
star
78

slack-message-deleter

Delete Slack message from any channel using Slack's Web API
JavaScript
9
star
79

gust-lang

It's not Go, it's not Rust, it's Gust
Rust
9
star
80

use

Things I use
9
star
81

crogue

A WIP roguelike game
C
9
star
82

lemontree-dark-vscode

9
star
83

bubble-sort-visualized

Visualized Bubble Sort Algorithm
C
9
star
84

react-stackoverflow-flair

๐ŸŽจ your own StackOverflow flair
JavaScript
8
star
85

nextjs-tailwind-typescript

JavaScript
8
star
86

idea-cli

Command-line based tool for task management
JavaScript
8
star
87

json-grep

Rust
8
star
88

source-reading

A collection of source code reading notes
7
star
89

kip

Kipalog CLI tool
Ruby
7
star
90

vim-nord-light-brighter

Vim Script
7
star
91

lit-demo

Demo game made with lit
JavaScript
6
star
92

typescript-react-template

JavaScript
6
star
93

bookmarks

HTML
6
star
94

emacs-config

Emacs Lisp
6
star
95

chrome-json-formatter

JSON Formatter for Google Chrome
JavaScript
6
star
96

dotfiles

My dotfiles, feel free to use, feel no to blame
Shell
6
star
97

poloniex-cli

Poloniex Command Line
JavaScript
6
star
98

playtify

Web-based Music Player
JavaScript
6
star
99

sergaem

WebSocket Multiplayer Game Server in Rust
Rust
6
star
100

Sizzular

Sizzle (jQuery Selector) + AngularJS Starter Code for any website
HTML
6
star