@diseec/kit
v3.0.95
Published
A collection of reusable DevOps tools, CLI scripts, Dockerfiles, CI/CD templates, and configuration files to streamline development and deployment workflows across DISEEC projects. Ideal for standardizing project setup and automating common DevOps tasks.
Maintainers
Readme
DISEEC DevOps Kit
Enterprise-grade DevOps automation toolkit for modern development workflows
Overview
The DISEEC DevOps Kit is a comprehensive automation toolkit designed to standardize and streamline development workflows across projects. It provides a unified cli_main interface, container orchestration, secrets management, and project lifecycle automation for teams building modern applications.
Key Features
- Unified cli_main Interface - Single command interface for all development operations
- Container Orchestration - Docker and Docker Compose automation
- Secure Secrets Management - AES-256 encrypted secrets with automatic key generation
- Git Workflow Automation - AI-powered commit messages and PR management
- Package & Service Management - Automated submodule and dependency management
- Workspace Configuration - Personalized development environment setup
- Testing Automation - Health checks, unit, integration, and E2E testing
- Infrastructure as Code - Standardized project templates and configurations
Quick Start
Installation
# Install globally
npm install -g @diseec/kit
# Install in project
npm install @diseec/kit --save-dev
# Initialize project (copies templates including customizable cli)
D installRequired Project Files
Before using the kit, create these required Docker files:
- Dockerfile - Production-ready container configuration
- docker-compose.yaml - Production services configuration
- docker-compose.override.yaml - Development environment overrides
Project Structure
The D install command creates a project cli file that:
- Makes the directory a recognized project (like
.gitfor git) - Allows full customization of kit behavior
- Can override, add, or remove functionalities
- Use
$CLI_COREto call original commands - Use
$CLI_MAINto call the project cli itself
# Example project cli customization
install() {
echo "Installing project dependencies..."
npm install
$CLI_CORE install # Call original install command
}Basic Usage
# Start development environment
D dev
# Get a shell in project main service
D shell
# Build and deploy
D build
# Get help for any command
D help
D git help
D secret helpDocumentation
Core Guides
| Guide | Description | | ------------------------------------------- | ------------------------------------------------------ | | Installation Guide | Detailed setup instructions for different environments | | Development Workflow | Day-to-day development operations |
Feature Documentation
| Feature | Documentation | | ------------------------------------------ | --------------------------------------------- | ------------------------------------------- | --- | | Git Workflows | AI-powered git automation and PR management | | |
Project Structure
kit/
├── src/ # Core cli_main implementation
│ ├── cli.sh # Main cli_main entry point
│ ├── core/ # Core utilities (env, output, wrappers)
│ ├── cmds/ # Command implementations
│ ├── facades/ # High-level API facades
│ └── informs/ # Information and validation scripts
├── templates/ # Project templates and scaffolding
├── docs/ # Comprehensive documentation
├── legacy/ # Legacy scripts (deprecated)
└── index.sh # Kit initialization scriptCommand Categories
Project Management
ins|install- Install dependencies and setup toolsude|update- Update cli_main and sync projectsta|status- Show comprehensive project status
Development Environment
dev|develop- Start development environmentbpa|build- Build project imagesrun- Execute commands in main containerexe|execute- Execute commands in specific containershe|shell- Open a shell in main servicetes|test- Run test suitesfor|format- Format codebase
Source Control
git- Git workflow managementpul|pull- Pull and merge latest changespus|push- Auto-commit and create PR
Infrastructure
doc|docker- Docker operationsser|service- Service managementpac|package- Package managementwor|workspace- Workspace configuration
Configuration & Security
con|config- Configuration managementsec|secret- Encrypted secrets managementenv|envs- Environment variables (Usage: source D envs)
Examples
Development Workflow
# Setup new project
D install project
D workspace init
# Daily development
D dev # Start development environment
D test health # Quick health check
D format # Format code
# Git workflow with AI
D git status # Check PR status
D git push # Auto-commit with AI message and create PRSecrets Management
# Initialize secrets (first time)
D secret init
# Add secrets interactively
D secret add
# Enter: OPENAI_API_KEY
# Value: sk-your-key-here
# Export to environment
source <(D secret get-all)
# Use in development
D git push # Uses OPENAI_API_KEY for AI commitsContainer Operations
# Container lifecycle
D docker compose up # Start services
D shell # Interactive shell
D run npm test # Execute commands
D docker compose down # Stop servicesRequirements
- Docker - Container orchestration
- Git - Version control
- Bash 4.0+ - Shell compatibility
- Node.js 16+ - For npm global installation
Optional Dependencies
- GitHub cli_main (
gh) - Enhanced git workflow features - yq - Advanced YAML configuration management
- OpenAI API Key - AI-powered git commit messages
Contributing
This is an internal DISEEC tool. For contributions:
- Follow the Style Guide
- Add tests for new features
- Update documentation
- Submit internal PR for review
Security
- All secrets encrypted with AES-256-CBC
- Auto-generated encryption keys
- No plaintext credential storage
- Internal use only - do not distribute
License
MIT License - Internal DISEEC use only. See LICENSE for details.
Support
- Documentation: Check the docs/ directory
- Issues: GitHub Issues
- Team: Contact DISEEC DevOps team
DISEEC Engineering
