- Update ToolboxStack/output/toolbox-base/test.sh with enhanced testing capabilities - Add ToolboxStack/output/toolbox-base/AUDIT_CHECKLIST.md with security audit guidelines - Add ToolboxStack/output/toolbox-base/security-audit.sh with security auditing tools - Update ToolboxStack/output/toolbox-template/test.sh with enhanced testing capabilities - Add ToolboxStack/output/toolbox-template/AUDIT_CHECKLIST.md with security audit guidelines - Add ToolboxStack/output/toolbox-template/security-audit.sh with security auditing tools This enhances both the base and template developer environments with security auditing capabilities.
120 lines
5.1 KiB
Markdown
120 lines
5.1 KiB
Markdown
# 🧰 Toolbox Template Audit Checklist
|
|
|
|
This checklist ensures the toolbox-template provides a solid foundation for creating new toolboxes that extend from toolbox-base.
|
|
|
|
## 🏗️ Structure Audit
|
|
|
|
- [ ] Template Dockerfile properly extends from toolbox-base:release-current
|
|
- [ ] Template Dockerfile follows best practices for extension
|
|
- [ ] Template docker-compose.yml properly inherits from base configuration
|
|
- [ ] Template build.sh script properly wraps docker build with UID/GID mapping
|
|
- [ ] Template run.sh script properly manages container lifecycle
|
|
- [ ] Template devcontainer.json properly references base configuration
|
|
- [ ] Template SEED file properly defines extension objectives
|
|
- [ ] Template PROMPT file properly guides contributors
|
|
- [ ] Template README.md properly documents usage and customization
|
|
- [ ] Template aqua.yaml properly extends from base tooling
|
|
|
|
## 🔧 Consistency Audit
|
|
|
|
- [ ] Template inherits all base security practices
|
|
- [ ] Template follows same build process patterns as base
|
|
- [ ] Template uses same user model as base (non-root with UID/GID mapping)
|
|
- [ ] Template workspace mounting consistent with base
|
|
- [ ] Template runtime behavior consistent with base
|
|
- [ ] Template error handling consistent with base
|
|
- [ ] Template documentation style consistent with base
|
|
- [ ] Template testing approach consistent with base
|
|
- [ ] Template customization points clearly defined
|
|
- [ ] Template extension patterns well-documented
|
|
|
|
## 🛡️ Security Audit
|
|
|
|
- [ ] Template maintains all base security guarantees
|
|
- [ ] Template doesn't introduce security vulnerabilities
|
|
- [ ] Template doesn't weaken base security model
|
|
- [ ] Template properly validates user inputs
|
|
- [ ] Template properly handles file permissions
|
|
- [ ] Template doesn't expose additional attack surfaces
|
|
- [ ] Template properly manages secrets/configuration
|
|
- [ ] Template follows principle of least privilege
|
|
- [ ] Template properly isolates user processes
|
|
- [ ] Template maintains non-root execution model
|
|
|
|
## 🧪 Testing Audit
|
|
|
|
- [ ] Template includes testing framework
|
|
- [ ] Template tests verify proper extension from base
|
|
- [ ] Template tests validate added functionality
|
|
- [ ] Template tests check for regression issues
|
|
- [ ] Template tests cover error conditions
|
|
- [ ] Template tests verify security properties
|
|
- [ ] Template tests run automatically during build
|
|
- [ ] Template tests provide clear failure diagnostics
|
|
- [ ] Template tests cover all customization points
|
|
- [ ] Template tests align with base testing philosophy
|
|
|
|
## 📚 Documentation Audit
|
|
|
|
- [ ] Template README.md clearly explains purpose and usage
|
|
- [ ] Template README.md properly documents customization options
|
|
- [ ] Template README.md links to base documentation
|
|
- [ ] Template README.md includes quick start guide
|
|
- [ ] Template README.md covers troubleshooting
|
|
- [ ] Template README.md explains extension patterns
|
|
- [ ] Template README.md documents versioning strategy
|
|
- [ ] Template README.md covers maintenance procedures
|
|
- [ ] Template README.md explains collaboration guidelines
|
|
- [ ] Template README.md maintains consistent style with base
|
|
|
|
## 🔄 Maintenance Audit
|
|
|
|
- [ ] Template properly tracks base image updates
|
|
- [ ] Template provides clear upgrade paths
|
|
- [ ] Template maintains backward compatibility
|
|
- [ ] Template follows same release cadence as base
|
|
- [ ] Template properly handles dependency updates
|
|
- [ ] Template includes update automation where appropriate
|
|
- [ ] Template documents breaking changes
|
|
- [ ] Template provides migration guides when needed
|
|
- [ ] Template follows same versioning scheme as base
|
|
- [ ] Template maintains consistent issue tracking
|
|
|
|
## 🎯 Usability Audit
|
|
|
|
- [ ] Template is easy to copy and customize
|
|
- [ ] Template provides clear extension points
|
|
- [ ] Template includes helpful examples
|
|
- [ ] Template reduces boilerplate code
|
|
- [ ] Template provides sensible defaults
|
|
- [ ] Template includes proper error messages
|
|
- [ ] Template supports common customization patterns
|
|
- [ ] Template includes helpful documentation
|
|
- [ ] Template follows intuitive naming conventions
|
|
- [ ] Template minimizes configuration complexity
|
|
|
|
## 🌐 Compatibility Audit
|
|
|
|
- [ ] Template works with all supported platforms
|
|
- [ ] Template maintains cross-platform consistency
|
|
- [ ] Template integrates well with base tooling
|
|
- [ ] Template supports common development workflows
|
|
- [ ] Template handles various project structures
|
|
- [ ] Template works with popular IDEs/editors
|
|
- [ ] Template supports CI/CD integration
|
|
- [ ] Template compatible with common deployment methods
|
|
- [ ] Template supports popular version control systems
|
|
- [ ] Template integrates with common development tools
|
|
|
|
## 🧹 Cleanliness Audit
|
|
|
|
- [ ] Template includes no unnecessary files
|
|
- [ ] Template follows consistent file organization
|
|
- [ ] Template includes proper .gitignore
|
|
- [ ] Template avoids duplicating base functionality
|
|
- [ ] Template includes proper licensing information
|
|
- [ ] Template maintains clean directory structure
|
|
- [ ] Template includes appropriate comments/documentation
|
|
- [ ] Template avoids hardcoded values where possible
|
|
- [ ] Template follows consistent naming conventions
|
|
- [ ] Template includes proper attribution where needed |