- 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.
		
			
				
	
	
		
			107 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 🧰 TSYSDevStack Toolbox Template
 | |
| 
 | |
| Template for creating new toolboxes that extend from the `toolbox-base` image.
 | |
| 
 | |
| ---
 | |
| 
 | |
| ## 🚀 Quick Start
 | |
| 
 | |
| 1. **Create a new toolbox**
 | |
|    ```bash
 | |
|    cp -r /path/to/toolbox-template /path/to/new-toolbox
 | |
|    cd /path/to/new-toolbox
 | |
|    ```
 | |
|    
 | |
| 2. **Customize the toolbox**
 | |
|    - Edit `Dockerfile` to add toolbox-specific tooling
 | |
|    - Modify `docker-compose.yml` to adjust service configuration
 | |
|    - Update `SEED` to define the toolbox's purpose and goals
 | |
|    
 | |
| 3. **Build the toolbox**
 | |
|    ```bash
 | |
|    ./build.sh
 | |
|    ```
 | |
|    
 | |
| 4. **Start the toolbox**
 | |
|    ```bash
 | |
|    ./run.sh up
 | |
|    ```
 | |
|    
 | |
| 5. **Access the toolbox**
 | |
|    ```bash
 | |
|    docker exec -it tsysdevstack-toolboxstack-<toolbox-name> zsh
 | |
|    ```
 | |
|    
 | |
| 6. **Stop the toolbox**
 | |
|    ```bash
 | |
|    ./run.sh down
 | |
|    ```
 | |
| 
 | |
| ---
 | |
| 
 | |
| ## 🧱 Architecture
 | |
| 
 | |
| - **Base Image**: Extends from `tsysdevstack-toolboxstack-toolbox-base:release-current`
 | |
| - **User**: Runs as non-root `toolbox` user (UID/GID mapped to host)
 | |
| - **Workspace**: Mounts current directory to `/workspace` (read/write)
 | |
| - **Runtime**: Inherits all tooling from base plus toolbox-specific additions
 | |
| 
 | |
| ---
 | |
| 
 | |
| ## 🛠️ Customization
 | |
| 
 | |
| ### Dockerfile
 | |
| Extend the base image with toolbox-specific tooling:
 | |
| ```dockerfile
 | |
| # Extend from the toolbox-base image
 | |
| FROM tsysdevstack-toolboxstack-toolbox-base:release-current
 | |
| 
 | |
| # Add toolbox-specific packages or configurations
 | |
| RUN apt-get update && apt-get install -y --no-install-recommends \
 | |
|     specific-package \
 | |
|     && apt-get clean \
 | |
|     && rm -rf /var/lib/apt/lists/*
 | |
| ```
 | |
| 
 | |
| ### docker-compose.yml
 | |
| Adjust service configuration for toolbox-specific needs:
 | |
| ```yaml
 | |
| services:
 | |
|   my-toolbox:
 | |
|     # Inherits all base configuration
 | |
|     # Add toolbox-specific volumes, ports, etc.
 | |
|     volumes:
 | |
|       - ./custom-config:/home/toolbox/.config/custom-tool
 | |
| ```
 | |
| 
 | |
| ### SEED
 | |
| Define the toolbox's purpose and goals:
 | |
| ```markdown
 | |
| - Describe what this toolbox should provide (languages, CLIs, workflows)
 | |
| - List required base image modifications or additional mounts
 | |
| - Note verification or testing expectations specific to this toolbox
 | |
| ```
 | |
| 
 | |
| ---
 | |
| 
 | |
| ## 📂 Project Layout
 | |
| 
 | |
| | Path | Purpose |
 | |
| |------|---------|
 | |
| | `Dockerfile` | Extends base image with toolbox-specific tooling |
 | |
| | `docker-compose.yml` | Service configuration for the toolbox |
 | |
| | `build.sh` | Wrapper around `docker build` with host UID/GID mapping |
 | |
| | `run.sh` | Helper to bring the service up/down |
 | |
| | `.devcontainer/devcontainer.json` | VS Code remote container definition |
 | |
| | `SEED` | Defines the toolbox's purpose and goals |
 | |
| | `PROMPT` | LLM onboarding prompt for future contributors |
 | |
| 
 | |
| ---
 | |
| 
 | |
| ## 🤝 Collaboration Notes
 | |
| 
 | |
| - Inherits all collaboration policies from `toolbox-base`
 | |
| - Document toolbox-specific additions in `README.md` and `PROMPT`
 | |
| - Update `SEED` only when the high-level objectives change
 | |
| - Prefer aqua/mise for new tooling to keep installations reproducible
 | |
| - Keep documentation synchronized for future contributors |