feat(toolbox): update toolbox template configuration

- Update ToolboxStack/output/toolbox-template/.devcontainer/devcontainer.json with improved container settings
- Update ToolboxStack/output/toolbox-template/PROMPT with enhanced instructions
- Update ToolboxStack/output/toolbox-template/SEED with updated seed data
- Update ToolboxStack/output/toolbox-template/docker-compose.yml with enhanced service definitions
- Add ToolboxStack/output/toolbox-template/README.md with documentation

This enhances the toolbox template for creating new developer environments.
This commit is contained in:
2025-10-30 12:28:15 -05:00
parent 08d10b16cf
commit 96d3178344
5 changed files with 166 additions and 12 deletions

View File

@@ -1,6 +1,38 @@
- This toolbox extends from the standard toolbox-base image, inheriting all base tooling (shells, CLIs, package managers).
- Add {{toolbox_name}}-specific tools via aqua.yaml, Dockerfile, or mise configurations.
- Document any additional host directory mounts needed in docker-compose.yml.
- Ensure all tooling is compatible with the non-root toolbox user and UID/GID mapping.
- Update README.md to document {{toolbox_name}}-specific features and tooling.
- Follow the same build and run patterns as the base image for consistency.
# Toolbox Template SEED
This SEED file defines the high-level objectives for all toolboxes created from this template.
## 🎯 Goals
- **Extensibility**: Each toolbox should extend from `toolbox-base` to inherit core tooling
- **Consistency**: All toolboxes should follow the same patterns and conventions
- **Reproducibility**: Toolbox builds should be deterministic and cache-efficient
- **Security**: Toolboxes should run as non-root users with minimal privileges
- **Portability**: Toolboxes should work identically across different host environments
## 🧰 Requirements
- **Base Image**: Extend from `tsysdevstack-toolboxstack-toolbox-base:release-current`
- **User Model**: Run as non-root `toolbox` user (UID/GID mapped to host)
- **Workspace**: Mount current directory to `/workspace` (read/write)
- **Runtime**: Inherit all base tooling plus toolbox-specific additions
- **Configuration**: Preserve user configs/mise toolchains via volume mounts
## 🛠️ Implementation
- **Dockerfile**: Extend from base with toolbox-specific tooling
- **docker-compose.yml**: Configure service with inherited + custom settings
- **build.sh**: Wrapper around `docker build` with UID/GID mapping
- **run.sh**: Helper to bring service up/down with proper directory setup
- **devcontainer.json**: VS Code remote container definition
- **SEED**: Define toolbox-specific objectives (this file)
- **PROMPT**: LLM onboarding prompt for future contributors
## ✅ Verification
- Toolboxes should build without errors
- Toolboxes should start and run indefinitely
- Toolboxes should be accessible via `docker exec`
- Toolboxes should inherit all base tooling
- Toolboxes should support toolbox-specific additions
- Toolboxes should preserve user configurations across restarts