@ycs77/devbox 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,121 @@
1
+ <div align="center">
2
+
1
3
  # @ycs77/devbox
2
4
 
5
+ **An AI-first, containerized development environment.**
6
+
7
+ [![NPM version][ico-version]][link-npm]
8
+ [![Software License][ico-license]](LICENSE)
9
+ [![GitHub Tests Action Status][ico-github-action]][link-github-action]
10
+ [![Total Downloads][ico-downloads]][link-downloads]
11
+
12
+ English | [繁體中文](README-zh-TW.md)
13
+
14
+ </div>
15
+
16
+ ---
17
+
18
+ ## Overview
19
+
20
+ Devbox gives each project an isolated Docker sandbox with Lucas's opinionated development setup. Choose a Node.js version and the AI agents you use, then work from a consistent environment without configuring containers yourself.
21
+
22
+ ## Features
23
+
24
+ - **AI-first workspace:** built for AI-assisted development, with Claude Code, Codex, and more available during setup.
25
+ - **Simple project lifecycle:** initialize, start, enter, stop, and remove a sandbox with a few commands.
26
+ - **Fast Node.js switching:** configure Node.js 22 and 24, then select a version for each project.
27
+ - **Selective builds:** build only the Node.js versions and AI agents you choose.
28
+ - **No project configuration files:** keep Devbox configuration local to your machine, not in your repository.
29
+
30
+ ## Requirements
31
+
32
+ - **Node.js 22 or later:** installs and runs the CLI with npm.
33
+ - **Docker with Docker Compose:** runs the development sandbox.
34
+ - **Windows:** use Devbox from a **WSL2** Linux distribution with Docker Desktop integration enabled.
35
+
36
+ ## Getting started
37
+
38
+ Install Devbox globally:
39
+
40
+ ```bash
41
+ npm install -g @ycs77/devbox
42
+ ```
43
+
44
+ From your project directory, initialize Devbox:
45
+
46
+ ```bash
47
+ devbox init
48
+ ```
49
+
50
+ The interactive setup lets you choose the Node.js release lines and AI agents to configure, then select the Node.js version for the current project.
51
+
52
+ Build the shared workspace image once after setup or after changing global configuration:
53
+
54
+ ```bash
55
+ devbox build
56
+ ```
57
+
58
+ Start the project sandbox:
59
+
60
+ ```bash
61
+ devbox up
62
+ ```
63
+
64
+ Open a shell inside the running sandbox and start working with your AI agent:
65
+
66
+ ```bash
67
+ devbox sh
68
+ ```
69
+
70
+ For example, run `claude`, `codex`, `agy`, or `omp` after opening the shell when that agent was selected during setup.
71
+
72
+ ## Everyday commands
73
+
74
+ Run these commands from the initialized project directory:
75
+
76
+ | Command | Description |
77
+ | --- | --- |
78
+ | `devbox up` | Start the project sandbox. |
79
+ | `devbox sh` | Open a Bash shell in the running sandbox. |
80
+ | `devbox stop` | Stop the sandbox and preserve it for a later restart. |
81
+ | `devbox down` | Stop and remove the sandbox container. |
82
+ | `devbox config` | Change the current project's Node.js selection. |
83
+ | `devbox config -g` | Change the globally configured Node.js versions or AI agents. |
84
+
85
+ ## Troubleshooting
86
+
87
+ ### A command says a Devbox marker is occupied
88
+
89
+ An interrupted process or sudden system shutdown can leave a command marker behind. First confirm that no Devbox process is still running, then remove only the stale marker and retry:
90
+
91
+ ```bash
92
+ rm -rf ~/.devbox/locks/<marker>
93
+ ```
94
+
95
+ Markers are directories named `global` or `project-<hash>`. Do not remove a marker while its Devbox command is still running.
96
+
97
+ ## Sponsor
98
+
99
+ If you think this package has helped you, please consider [Becoming a sponsor](https://www.patreon.com/ycs77) to support my work~ and your avatar will be visible on my major projects.
100
+
101
+ <p align="center">
102
+ <a href="https://www.patreon.com/ycs77">
103
+ <img src="https://cdn.jsdelivr.net/gh/ycs77/static/sponsors.svg" alt="Sponsors" />
104
+ </a>
105
+ </p>
106
+
107
+ <a href="https://www.patreon.com/ycs77">
108
+ <img src="https://c5.patreon.com/external/logo/become_a_patron_button.png" alt="Become a Patron" />
109
+ </a>
110
+
3
111
  ## License
4
112
 
5
113
  [MIT LICENSE](LICENSE)
114
+
115
+ [ico-version]: https://img.shields.io/npm/v/%40ycs77%2Fdevbox?style=flat-square
116
+ [ico-license]: https://img.shields.io/badge/license-MIT-brightgreen?style=flat-square
117
+ [ico-github-action]: https://img.shields.io/github/actions/workflow/status/ycs77/devbox/ci.yml?branch=main&label=tests&style=flat-square
118
+ [ico-downloads]: https://img.shields.io/npm/dt/%40ycs77%2Fdevbox?style=flat-square
119
+ [link-npm]: https://www.npmjs.com/package/%40ycs77%2Fdevbox
120
+ [link-github-action]: https://github.com/ycs77/devbox/actions/workflows/ci.yml?query=branch%3Amain
121
+ [link-downloads]: https://www.npmjs.com/package/%40ycs77%2Fdevbox
package/bin/devbox.mjs ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ import '../dist/cli.mjs'