.
This commit is contained in:
56
Toolbox/docs/documentation/QWEN.md
Normal file
56
Toolbox/docs/documentation/QWEN.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user