a13n
AI 에이전트를 만들고 클라우드에서 실행합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Note: this tool is under active development. All documentations, including this README and the book, are written by AI and may not be accurate for now. Please refer to the source code for the actual behavior of the tool.
A modern CLI tool for managing Dev Containers with ease. Dockim simplifies your development workflow by providing intuitive commands for container management and Neovim integration.
~/.sshimnpm install -g @devcontainers/cliFor sshim (SSH hosts): the OpenSSH client (ssh) and curl on your machine. Nothing is needed on the host but a POSIX shell, tar and gzip.
Both binaries, dockim and sshim, are installed together.
# From source (requires Rust)
cargo install --git https://github.com/statiolake/dockim
# Or build locally
git clone https://github.com/statiolake/dockim
cd dockim
cargo install --path .
# Create dev container configuration
dockim init
This creates:
.devcontainer/devcontainer.json.devcontainer/compose.yml.devcontainer/Dockerfile# Build and start the container
dockim build
# Start the container (if already built)
dockim up
# Launch Neovim with auto-port selection
dockim neovim
# Alias: dockim v
# Launch with specific port
dockim neovim --host-port 8080
# Launch directly in container (no remote UI)
dockim neovim --no-remote-ui
dockim initCreates a new dev container configuration in the current directory.
dockim init
Generates:
.devcontainer/devcontainer.json - Dev container configuration.devcontainer/compose.yml - Docker Compose configuration.devcontainer/Dockerfile - Custom Docker image definitiondockim init-configCreates a default configuration file for dockim.
dockim init-config
Creates ~/.config/dockim/config.toml with default settings that you can customize.
dockim buildBuilds the dev container with all dependencies.
# Standard build
dockim build
# Rebuild from scratch
dockim build --rebuild
# Build without Docker cache
dockim build --no-cache
# Build Neovim from source instead of using prebuilt binaries
dockim build --neovim-from-source
dockim upStarts the dev container (builds if necessary).
dockim up
# Force rebuild and start
dockim up --rebuild
dockim stop / dockim downStops or removes the dev container.
# Stop container (keeps it for later restart)
dockim stop
# Remove container completely
dockim down
dockim neovim (alias: dockim v)Launches Neovim with remote UI support.
# Launch with automatic port selection
dockim v
# Launch with specific host port
dockim v --host-port 8080
# Launch directly in container (no remote UI)
dockim v --no-remote-ui
The remote UI mode starts a Neovim server inside the container and connects to it from your host system using the configured client.
dockim shell / dockim bashOpens an interactive shell in the container.
# Default shell (zsh)
dockim shell
dockim sh # alias
# Bash specifically
dockim bash
dockim execExecutes a command in the container.
# Run a single command
dockim exec ls -la
# Run with arguments
dockim exec git status
dockim port addSets up port forwarding from host to container.
# Forward host:8080 to container:8080
dockim port add 8080
# Forward host:8080 to container:3000
dockim port add 8080:3000
dockim port lsLists active port forwards.
dockim port ls
dockim port rmRemoves port forwarding.
# Remove specific port forward
dockim port rm 8080
# Remove all port forwards
dockim port rm --all
sshim takes dockim's commands, with the same names and flags, to a server reached with ssh:
sshim -H build-box up # connect (one shared ControlMaster) and terraform, idempotently
sshim -H build-box v # Neovim on the host (remote UI over a forwarded port by default)
sshim -H build-box sh # shell / bash / exec on the host
sshim -H build-box port add 8080
sshim -H build-box clean # remove everything sshim put on the host
-H (or SSHIM_HOST) is passed to ssh as written, so ~/.ssh/config aliases apply.
Terraforming sends only what is missing or changed, over the SSH connection (the host needs no
internet): the pinned Neovim from neovim-binaries
(v0.12.6, glibc ≥ 2.14 on x86_64 / 2.17 on aarch64), a static musl tmux, and copies of your local
configuration (by default $XDG_CONFIG_HOME/nvim and $XDG_CONFIG_HOME/tmux; [sshim] sync chooses).
Everything lives under ~/.sshim (bin/ wrappers that set XDG_*, pkg/, xdg/{config,data,state,cache}),
never in the server's own ~/.config. On musl, old glibc or another architecture the host's own
nvim is used, with a message.
| dockim | sshim |
|---|---|
up, build | terraform the host (--rebuild: resend all; --no-cache/--build-no-cache: re-download; --neovim-from-source: refused) |
stop, down | close the shared connection (files stay; clean removes them) |
neovim/v, shell/sh, bash, exec | on the host |
port add/rm/ls | forwards on the shared connection |
ps, ls | host status; aliases from ~/.ssh/config |
init, init-docker | refused (container only) |
| — | clean |
See docs/en/src/sshim.md (日本語) for the layout, the dotfiles placement (container: clone + install as before; server: isolated copies) and every option.
Configuration is stored in ~/.config/dockim/config.toml. Create a default one with:
dockim init-config
shellDefault shell to use in containers.
shell = "/usr/bin/bash"
neovim_versionNeovim version to install when using --neovim-from-source.
neovim_version = "v0.11.0"
dotfiles_repository_nameName of your dotfiles repository for automatic setup.
dotfiles_repository_name = "dotfiles"
dotfiles_install_commandCommand to run after cloning your dotfiles.
dotfiles_install_command = "echo 'no dotfiles install command configured'"
Control how Neovim remote UI works:
[neovim]
# Use direct Neovim inside the container by default
remote_ui = false
[remote]
# Run client in background (don't block terminal)
background = false
# Enable clipboard synchronization between host and container
use_clipboard_server = true
# Command to run Neovim client
# {server} is replaced with "localhost:PORT"
args = ["nvim", "--server", "{server}", "--remote-ui"]
The {server} placeholder gets replaced with the actual server address (e.g., localhost:52341) when launching the remote client.
git checkout -b feature/amazing-featuregit commit -m 'Add amazing feature'git push origin feature/amazing-featureThis project is licensed under the MIT License - see the LICENSE file for details.