5 unstable releases
0.3.0 | Dec 7, 2021 |
---|---|
0.2.2 | Oct 17, 2020 |
0.2.1 | Oct 17, 2020 |
0.2.0 | Oct 17, 2020 |
0.1.0 | Oct 16, 2020 |
#652 in Programming languages
29KB
697 lines
Shelly
A tool to generate/copy project templates, that you can shell into.
USAGE:
shelly [FLAGS] [OPTIONS] [path]
ARGS:
<path> Path to create project [default: .]
FLAGS:
-h, --help Prints help information
--no-cache
-s, --shell Drop into REPL after building
-V, --version Prints version information
OPTIONS:
-c, --config <config>
-t, --target <target> A target is a language and dependencies pairing
Templates
There are some default templates, and then also the option to set up a git
repository as a template.
Languages
node
and elixir
support the Internal
target, wherein you specify the
language, name, and deps.
Otherwise, a GitHub repo can be provided, and it will be cloned and built with the provided commands. Hopefully the samples are explanatory.
The default template is generated at ~/.config/shelly/shelly.yml
.
build_dir: /tmp/shelly
cache: true
default_target: elixir
targets:
phoenix_react:
Repo:
build_args:
- build
build_command: docker-compose
path: "https://github.com/rawhat/phoenix-react.git"
shell:
command: docker-compose
args:
- up
node:
Internal:
language: node
name: node
deps:
- name: axios
version: 0.20.0
- name: cheerio
version: 1.0.0-rc.3
- name: papaparse
version: 5.3.0
react:
Repo:
build_args:
- install
build_command: npm
path: "https://github.com/rawhat/serve-react.git"
shell:
command: "./serve.sh"
args: []
rust:
Internal:
language: rust
name: rust
deps:
- name: clap
version: "1.0"
- name: tokio
version: "0.9"
elixir:
Internal:
language: elixir
name: elixir
deps:
- name: httpoison
version: "1.7"
- name: jason
version: "1.2"
- name: nimble_csv
version: "1.1"
- name: floki
version: "0.29"
Dependencies
~3–12MB
~129K SLoC