Files
TSYSDevStack/Toolbox/docs/documentation/QWEN.md
2025-11-11 21:00:37 -06:00

56 lines
2.5 KiB
Markdown

# TSYS Group Development Stack - Toolboxes - DocsAndDiagrams
## Overview
This project implements a Docker-based document production workhorse as specified in the PRD.md. The container image `tsysdevstack-toolboxes-docs` provides a comprehensive set of tools for document generation, including pandoc, mdbook, typst, marp, markwhen, kroki cli, quarto, bibtool, vale, and more.
## Components Created
### Dockerfile
- Production-ready image based on Debian stable
- Uses tsysdevstack user for all runtime operations
- Implements multi-stage build with security best practices
- Uses mise to manage language runtimes (Python, Node.js, Rust)
- Installs all required tools using version-pinned packages
### Scripts
- **build.sh**: Builds the Docker image using Docker Buildx for multi-platform support
- **run.sh**: Simplifies running the container with customizable options
- **test.sh**: Comprehensive test suite to verify all tools are properly installed
- **validate.sh**: Validates files using hadolint, shellcheck, and yamllint
### Configuration Files
- **docker-compose.yml**: Simplifies container orchestration
- **devcontainer.json**: Enables development container support in VS Code
## Quality Assurance & Compliance
### Hadolint Compliance
All Dockerfile issues have been resolved to achieve 100% compliance:
- **Fixed**: Pin versions in apt-get install commands
- **Fixed**: Added --no-install-recommends to apt-get commands
- **Fixed**: Set SHELL option -o pipefail before RUN with pipes
- **Fixed**: Consolidated consecutive RUN instructions to address DL3059
- **Verified**: No warnings or errors from hadolint
### Shellcheck Compliance
All shell scripts have been validated to achieve 100% compliance:
- **run.sh**: No issues detected
- **build.sh**: Addressed SC2086 (word splitting) with appropriate handling
- **test.sh**: No issues detected
- **validate.sh**: No issues detected
- **Verified**: All scripts pass shellcheck validation
### Yamllint Compliance
The docker-compose.yml file has been validated to achieve 100% compliance:
- **Fixed**: Added document start marker (---)
- **Fixed**: Removed trailing spaces
- **Fixed**: Ensured newline at end of file
- **Verified**: No warnings or errors from yamllint
## Validation Process
All validation tools are used via Docker images as specified:
- `hadolint/hadolint` for Dockerfile validation
- `koalaman/shellcheck:stable` for shell script validation
- `cytopia/yamllint:latest` for YAML validation
The validation process is performed automatically during development to ensure continuous compliance with best practices.