https://github.com/jepemo/miko-shell
A containerized development environment manager that allows you to work with different tools and dependencies without installing them locally.
https://github.com/jepemo/miko-shell
Last synced: 10 months ago
JSON representation
A containerized development environment manager that allows you to work with different tools and dependencies without installing them locally.
- Host: GitHub
- URL: https://github.com/jepemo/miko-shell
- Owner: jepemo
- License: mit
- Created: 2025-07-21T15:11:17.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-08-28T16:52:36.000Z (10 months ago)
- Last Synced: 2025-08-28T23:32:32.105Z (10 months ago)
- Language: Go
- Size: 110 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Miko Shell
[](https://github.com/jepemo/miko-shell/releases)
[](https://github.com/jepemo/miko-shell/actions)
[](https://github.com/jepemo/miko-shell/blob/main/go.mod)
[](LICENSE)
Declarative, reproducible dev environments backed by Docker or Podman. One YAML file, same toolchain for every developer and CI job.
---
## Quick Start
```bash
# 1) Create a config
miko-shell init # or: miko-shell init --dockerfile
# 2) (Optional) Build the image
miko-shell image build
# 3) Discover available scripts
miko-shell run
# 4) Run a script
miko-shell run test
```
Minimal `miko-shell.yaml`:
```yaml
name: my-project
container:
provider: docker
image: alpine:latest
setup:
- apk add --no-cache curl git
shell:
startup:
- echo "Welcome to the development shell"
scripts:
- name: test
commands:
- go test ./...
```
---
## Install
- Quick install:
```bash
curl -sSL https://raw.githubusercontent.com/jepemo/miko-shell/main/install.sh | bash
```
- Uninstall:
```bash
curl -sSL https://raw.githubusercontent.com/jepemo/miko-shell/main/install.sh | bash -s -- --uninstall
```
- Bootstrap from local checkout: `./bootstrap.sh`
- From source: `make build` or `go build -o miko-shell .`
- Prebuilt binaries: see [Releases](https://github.com/jepemo/miko-shell/releases)
---
## Commands (condensed)
- `init` — scaffold a config (`--dockerfile` for Dockerfile-based builds)
- `image` — comprehensive image management (build, list, clean, info, prune)
- `run` — list scripts (no args) or run `run [args...]`
- `open` — open an interactive shell inside the development environment
- `completion` — generate shell autocompletion scripts
- `version` — print version
For details and advanced usage, see [DOCS.md](DOCS.md).
---
## Examples
Start from ready-made configs in `examples/`:
```bash
# Go
miko-shell image build -c examples/dev-config-go.example.yaml # (Optional)
miko-shell run -c examples/dev-config-go.example.yaml test
# Next.js
miko-shell image build -c examples/dev-config-nextjs.example.yaml # (Optional)
miko-shell run -c examples/dev-config-nextjs.example.yaml dev
```
More examples and tips: `examples/README.md`, `examples/USAGE.md`.
---
## License
MIT — see [LICENSE](LICENSE).