Skip to content
jinyongpPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

devtools

English | 한국어

devtools is a CLI for managing your project's development environment and tasks. Store environment variables and secrets, pass them to commands, and manage development servers, ports, and local URLs. Track tasks and progress so you can pick up where you left off in another session or with a coding agent.

Install

Install the latest stable release. No Go installation required when using the install scripts.

Windows (PowerShell)

irm https://jinyongp.dev/devtools/install.ps1 | iex

Open a new terminal, then run devtools version. The installer selects x64 or ARM64 for your PC and adds devtools to your user PATH. No administrator access needed. Run the same install command again to update an existing installation. Supports Windows 11 25H2/26H2; see the Windows guide for details.

macOS / Linux / WSL

With Homebrew:

brew install jinyongp/tap/devtools

Homebrew also installs dvt as a symlink to devtools and completion files for bash, zsh, and fish. See the completion guide for shell setup.

Or with curl:

curl -fsSL https://jinyongp.dev/devtools/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
devtools version

For the curl install, add the export line to your shell configuration (such as ~/.zshrc) to keep it in new terminals. Inside WSL, use this Linux install.

The shorter command dvt is also available unless another program already owns that name. See installation and updates for install locations, completion for shell setup, and the WSL guide for using Windows and WSL together. Their data, servers, and CAs stay separate.

Get started

Run this in a new project directory. myapp names the profile that stores your values. Choose an unused profile name for this example: an existing name shares its stored values. These first commands work on macOS, Linux, WSL, and Windows.

devtools init --profile myapp
devtools var set LOG_LEVEL --value info
devtools env create local
devtools var set LOG_LEVEL --env local --value debug
devtools var get LOG_LEVEL --env local

The final JSON response contains data.value: "debug", confirming the local override. To pass that value to a child command, choose the example for your shell.

In a POSIX shell on macOS, Linux, or WSL:

devtools run --env local -- sh -c 'echo "$LOG_LEVEL"'

In PowerShell or cmd on Windows:

devtools run --env local -- cmd.exe /d /c set LOG_LEVEL

These print debug and LOG_LEVEL=debug, respectively. In your project, put an installed project tool's command after --, such as pnpm dev or go run .. Devtools data commands return JSON; child output is not wrapped in JSON. On builds with output protection, non-TTY stdout and stderr mask delivered secrets by default. TTY output uses the configured policy.

Commit the generated devtools.toml to Git. Projects and worktrees that use the same profile share stored values. Builds with vault support protect stored secrets with local encryption and a reusable OS-protected or passphrase key session; public variables remain readable. Complete vault setup before storing secrets. See local secret protection for setup and build availability. The values guide covers secret registration and saved commands.

Use devtools --help or a command's help, such as devtools task --help, to explore the CLI. Run devtools command list to see your configured project commands.

Run a saved command

To save a command you use often, add it to devtools.toml. For example, in a project with a docs:dev script:

[commands."dev:docs"]
exec = ["pnpm", "run", "docs:dev"]

Put devtools options before the command name. In devtools v0.23.0 and newer, the -- separator before the saved command's arguments is optional:

devtools run dev:docs --port 3000
devtools run dev:docs -- --port 3000
devtools run --env local dev:docs --port 3000

Use devtools run dev:docs --help for the saved command's help, or devtools run --help for devtools' own help.

Every argument after the name belongs to the saved command, including --env and --help. On older versions such as v0.22.3, use the explicit -- separator. See the command execution guide for the version requirements and both forms.

Guides

The documentation index separates user guides, API contracts, developer instructions, and architecture references. Most guides are in Korean; the task and workstream guide is in English.

Use with a coding agent

Install the devtools Skill to give your coding agent instructions for setting up projects, managing servers, and recording progress:

npx skills add jinyongp/devtools

The installer detects your agents and guides you through the install location. Add --global to use the Skill across projects. See Agent Skill setup for configuration and updates.

Update

If you installed with Homebrew, update with Homebrew:

brew upgrade jinyongp/tap/devtools

If you used the install script, run devtools update to get the latest stable release:

devtools update

The update replaces the executable and preserves your profile data and project configuration. Check the new version with devtools version. For a build with vault support, follow secret setup and migration before using existing secrets. Updating the executable alone does not encrypt old data.

If you use a coding agent, update the Skill too. The CLI and Skill are updated separately through their respective installers.

devtools is available under the MIT license. See the development guide to contribute to the project.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages