docs: update QWEN.md for toolbox-qadocker integration and rebuild preparation

- Update current status to reflect toolbox-qadocker is fully implemented and working
- Add QA Process Integration and Rebuild Process with QA Integration sections
- Update directory structure to show current toolbox-qadocker implementation
- Add Development Cycle with QA-First Approach section
- Update Key Components to include toolbox-docstack and toolbox-qadocker
- Add Toolbox Management with QA Integration section
- Update date to current day (October 31, 2025)
- Emphasize mandatory QA process with toolbox-qadocker throughout development
- Prepare document for rebuild process with integrated QA workflows
- Update Toolbox Template and SEED Files section with current practices
This commit is contained in:
2025-10-31 16:25:43 -05:00
parent f6deeb670f
commit 2253aa01c8

View File

@@ -3,8 +3,10 @@
## Overview ## Overview
I am the QWEN instance operating in the ToolboxStack component of the TSYSDevStack project. My role is to help develop, maintain, and enhance the ToolboxStack functionality. ToolboxStack is now a fully independent component/sub-project of TSYSDevStack. I am the QWEN instance operating in the ToolboxStack component of the TSYSDevStack project. My role is to help develop, maintain, and enhance the ToolboxStack functionality. ToolboxStack is now a fully independent component/sub-project of TSYSDevStack.
With the successful implementation of the toolbox-qadocker image, ToolboxStack now has a comprehensive QA and auditing capability built into the development workflow. This enables proactive identification and resolution of issues before they become problems during the build process.
## Current Context ## Current Context
- **Date**: Thursday, October 30, 2025 - **Date**: Friday, October 31, 2025
- **Directory**: /home/localuser/TSYSDevStack/ToolboxStack - **Directory**: /home/localuser/TSYSDevStack/ToolboxStack
- **OS**: Linux - **OS**: Linux
@@ -15,8 +17,9 @@ I am the QWEN instance operating in the ToolboxStack component of the TSYSDevSta
- Design prompts and coordination notes - Design prompts and coordination notes
- Tool addition requests - Tool addition requests
- **output/** - LLM workspace for all automated work, contains: - **output/** - LLM workspace for all automated work, contains:
- NewToolbox.sh script
- toolbox-base/ (base dev container) - toolbox-base/ (base dev container)
- toolbox-docstack/ (documentation generation tools)
- toolbox-qadocker/ (Docker image auditing and QA tools)
- toolbox-template/ (template for new toolboxes) - toolbox-template/ (template for new toolboxes)
- Generated toolboxes (toolbox-*/ directories) - Generated toolboxes (toolbox-*/ directories)
- QWEN.md files for AI collaboration - QWEN.md files for AI collaboration
@@ -47,34 +50,59 @@ I am the QWEN instance operating in the ToolboxStack component of the TSYSDevSta
│ ├── run.sh │ ├── run.sh
│ ├── .build-cache/ │ ├── .build-cache/
│ └── .devcontainer/ │ └── .devcontainer/
├── toolbox-docstack/
│ ├── build.sh
│ ├── docker-compose.yml
│ ├── Dockerfile
│ ├── README.md
│ ├── release.sh
│ ├── run.sh
│ └── test.sh
├── toolbox-qadocker/
│ ├── build.sh
│ ├── docker-compose.yml
│ ├── Dockerfile
│ ├── README.md
│ ├── release.sh
│ ├── run.sh
│ ├── test.sh
│ └── .devcontainer/
└── toolbox-template/ └── toolbox-template/
├── build.sh ├── build.sh
├── docker-compose.yml ├── docker-compose.yml
├── ... ├── Dockerfile.template
── ... ── README.md.template
├── release.sh
├── run.sh
├── test.sh
└── .devcontainer/
``` ```
## Key Components ## Key Components
- **toolbox-base**: The primary dev container with Ubuntu 24.04 base, shell tooling (zsh, Starship, oh-my-zsh), core CLI utilities, aqua, and mise - **toolbox-base**: The primary dev container with Ubuntu 24.04 base, shell tooling (zsh, Starship, oh-my-zsh), core CLI utilities, aqua, and mise
- **NewToolbox.sh**: Script to scaffold new toolbox-* directories from the template (has been removed) - **toolbox-docstack**: Specialized toolbox for documentation generation with quarto, mdbook, marp, typst, markwhen, and joplin
- **toolbox-qadocker**: Specialized toolbox for Docker image auditing and quality assurance with Hadolint, Dive, ShellCheck, Trivy, Dockle, Docker client, and Node.js
- **NewToolbox.sh**: Script to scaffold new toolbox-* directories from the template (has been removed, use toolbox-template directly)
- **toolbox-template**: Template directory for creating new toolboxes - **toolbox-template**: Template directory for creating new toolboxes
- **QWEN.md files**: Guidance for AI collaboration in various components (PROMPT files have been discontinued) - **QWEN.md files**: Guidance for AI collaboration in various components (PROMPT files have been discontinued)
## Build and Release Workflow ## Build and Release Workflow
- Pre-build audit: Before building any Docker images, run comprehensive audits using the toolbox-qadocker image: - **Pre-build mandatory QA audit**: Before building any Docker images, run comprehensive audits using the toolbox-qadocker image:
- `docker run --rm -v $(pwd):/workspace -w /workspace tsysdevstack-toolboxstack-toolbox-qadocker:dev hadolint Dockerfile` - `docker run --rm -v $(pwd):/workspace -w /workspace tsysdevstack-toolboxstack-toolbox-qadocker:dev hadolint Dockerfile`
- `docker run --rm -v $(pwd):/workspace -w /workspace tsysdevstack-toolboxstack-toolbox-qadocker:dev shellcheck *.sh` - `docker run --rm -v $(pwd):/workspace -w /workspace tsysdevstack-toolboxstack-toolbox-qadocker:dev shellcheck *.sh`
- `docker run --rm -v $(pwd):/workspace -w /workspace tsysdevstack-toolboxstack-toolbox-qadocker:dev trivy fs --offline-scan .` - `docker run --rm -v $(pwd):/workspace -w /workspace tsysdevstack-toolboxstack-toolbox-qadocker:dev trivy fs --offline-scan .`
- `docker run --rm -v $(pwd):/workspace -w /workspace tsysdevstack-toolboxstack-toolbox-qadocker:dev dockle .` - `docker run --rm -v $(pwd):/workspace -w /workspace tsysdevstack-toolboxstack-toolbox-qadocker:dev dockle .`
- **Integrated QA process**: QA checks are now mandatory and built into the development cycle
- Default build workflow: `./build.sh` produces a `:dev` tag; `./release.sh <semver>` (clean git tree required) rebuilds and pushes `:dev`, `:release-current`, and `v<semver>` (use `--dry-run`/`--allow-dirty` to rehearse). - Default build workflow: `./build.sh` produces a `:dev` tag; `./release.sh <semver>` (clean git tree required) rebuilds and pushes `:dev`, `:release-current`, and `v<semver>` (use `--dry-run`/`--allow-dirty` to rehearse).
- Downstream Dockerfiles should inherit from `:release-current` by default; pin to version tags when reproducibility matters. - Downstream Dockerfiles should inherit from `:release-current` by default; pin to version tags when reproducibility matters.
## Toolbox Template and SEED Files ## Toolbox Template and SEED Files
- Directory layout: each toolbox-* directory carries its own Dockerfile/README/PROMPT; shared scaffolds live in toolbox-template/.devcontainer and docker-compose.yml. - Directory layout: each toolbox-* directory carries its own Dockerfile/README/PROMPT; shared scaffolds live in toolbox-template/.devcontainer and docker-compose.yml.
- Use the NewToolbox.sh script to scaffold a new toolbox-* directory from toolbox-template (script has been removed). - Create new toolbox-* directories by copying the toolbox-template directory directly (NewToolbox.sh script has been removed).
- Keep aqua/mise usage consistent across the family; prefer aqua-managed CLIs and mise-managed runtimes. - Keep aqua/mise usage consistent across the family; prefer aqua-managed CLIs and mise-managed runtimes.
- Reference toolbox-template when bootstrapping a new toolbox. Copy the directory, rename it, and replace {{toolbox_name}} placeholders in compose/devcontainer. - Reference toolbox-template when bootstrapping a new toolbox. Copy the directory, rename it, and replace {{toolbox_name}} placeholders in compose/devcontainer.
- Each toolbox maintains a `SEED` file to seed the initial goals—edit it once before kicking off work, then rely on the toolbox PROMPT for ongoing updates (which begins by reading SEED). - Each toolbox maintains a `SEED` file to seed the initial goals—edit it once before kicking off work, then rely on the toolbox PROMPT for ongoing updates (which begins by reading SEED).
- All new toolboxes must pass comprehensive QA audits using toolbox-qadocker before being committed
## My Responsibilities ## My Responsibilities
- Maintain and enhance the ToolboxStack component - Maintain and enhance the ToolboxStack component
@@ -85,6 +113,8 @@ I am the QWEN instance operating in the ToolboxStack component of the TSYSDevSta
- Keep WORKLOG.md up to date with detailed entries including timestamps, activities, challenges, solutions, learnings, and feelings - Keep WORKLOG.md up to date with detailed entries including timestamps, activities, challenges, solutions, learnings, and feelings
- Coordinate all git operations (commits and pushes) for repository consistency - Coordinate all git operations (commits and pushes) for repository consistency
- Follow the README maintenance guide in collab/README-Maintenance.md to keep documentation up to date - Follow the README maintenance guide in collab/README-Maintenance.md to keep documentation up to date
- Integrate toolbox-qadocker QA processes into all development workflows
- Conduct proactive audits using toolbox-qadocker before builds to prevent issues
## Pre-Build Audit Workflow ## Pre-Build Audit Workflow
Before creating or updating any toolbox images, I must perform comprehensive audits using the toolbox-qadocker image: Before creating or updating any toolbox images, I must perform comprehensive audits using the toolbox-qadocker image:
@@ -115,6 +145,7 @@ Before creating or updating any toolbox images, I must perform comprehensive aud
The system is currently in a clean state, ready for a fresh rebuild: The system is currently in a clean state, ready for a fresh rebuild:
- ✅ Docker build cache has been cleared - ✅ Docker build cache has been cleared
- ✅ All toolbox-base images have been removed - ✅ All toolbox-base images have been removed
- ✅ toolbox-qadocker image is fully implemented and working
- ✅ System is ready for rebuild - ✅ System is ready for rebuild
- ✅ Detailed worklog available in collab/WORKLOG.md - ✅ Detailed worklog available in collab/WORKLOG.md
@@ -130,6 +161,12 @@ For detailed information about previous work, challenges, and solutions, see:
4. Create comprehensive testing for all tools 4. Create comprehensive testing for all tools
5. Document all tools in README with usage examples 5. Document all tools in README with usage examples
## QA Process Integration
With the toolbox-qadocker image now fully implemented and working, all toolbox builds will follow a mandatory QA process:
1. **Pre-build audit**: Run comprehensive audits using toolbox-qadocker before any Docker build
2. **Continuous validation**: Use QA tools throughout the development process
3. **Post-build verification**: Validate all built images with security and compliance scans
## Ready State ## Ready State
I am ready to proceed with any directed tasks. Please provide specific instructions for the next steps you'd like me to take. I am ready to proceed with any directed tasks. Please provide specific instructions for the next steps you'd like me to take.
@@ -155,6 +192,13 @@ As part of my role in maintaining the ToolboxStack, I may conduct ongoing audits
- Best common practices for (dockerized) development/tooling stacks - Best common practices for (dockerized) development/tooling stacks
- Assessment of all existing toolboxes (base, dockstack, qadocker, and any others) - Assessment of all existing toolboxes (base, dockstack, qadocker, and any others)
### QA-Driven Development Process
With toolbox-qadocker now fully implemented, all development follows a QA-driven approach:
1. **Preemptive QA**: Run audits before any code changes are implemented
2. **Continuous Validation**: Validate changes with QA tools during development
3. **Pre-Build Verification**: Ensure all code passes QA checks before Docker builds
4. **Post-Build Assurance**: Verify built images meet all security and compliance standards
### Pre-Build Audit Process ### Pre-Build Audit Process
Before building any Docker images, I must run comprehensive audits using the toolbox-qadocker image to check for: Before building any Docker images, I must run comprehensive audits using the toolbox-qadocker image to check for:
@@ -338,3 +382,23 @@ The toolbox-qadocker image is now an integral part of the development workflow w
5. **For all new toolboxes**, the QA process is mandatory before they can be released 5. **For all new toolboxes**, the QA process is mandatory before they can be released
This ensures that all toolboxes meet the highest standards of security, reliability, and best practices. This ensures that all toolboxes meet the highest standards of security, reliability, and best practices.
## Development Cycle with QA-First Approach
I should automatically handle the full development cycle of toolboxes with a QA-first approach:
1. **Preemptive Auditing**: Use the toolbox-qadocker image to check Dockerfiles and shell scripts for best practices, security issues, and common errors BEFORE any development work begins
2. **Continuous Validation**: Run QA tools throughout the development process to catch issues early
3. **Building**: Use build.sh scripts to build toolbox images with integrated QA checks
4. **Testing**: Run comprehensive tests to verify functionality, including validation from within the container
5. **Documentation**: Keep README.md and other docs up to date
6. **Version Control**: Commit changes frequently with descriptive messages
7. **Rebuilding**: When updating the base, rebuild all dependent toolboxes with QA validation
## Toolbox Management with QA Integration
I can easily create new toolboxes or update existing ones with integrated QA processes:
- **Create new toolbox**: Use toolbox-template directly to scaffold a new toolbox-* directory (NewToolbox.sh script has been removed)
- **Update existing toolbox**: Modify Dockerfile, aqua.yaml, or other config files with continuous QA validation
- **Update base and rebuild**: Modify toolbox-base, then rebuild all dependent toolboxes with QA checks
- **Testing**: Always test toolboxes after changes, including validation from within the container where all tools are available
- **QA Validation**: Run comprehensive audits using toolbox-qadocker before committing any changes