JSPM

  • Created
  • Published
  • Downloads 314
  • Score
    100M100P100Q90043F
  • License ISC

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.

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@diseec/sdk) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    DISEEC DevOps Kit

    Enterprise-grade DevOps automation toolkit for modern development workflows

    Version License Internal Use

    Overview

    The DISEEC DevOps Kit is a comprehensive automation toolkit designed to standardize and streamline development workflows across projects. It provides a unified cli_ctx interface, container orchestration, secrets management, and project lifecycle automation for teams building modern applications.

    Key Features

    • Unified cli_ctx 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/sdk
    
    # Install in project
    npm install @diseec/sdk --save-dev
    
    # Initialize project (copies templates including customizable cli)
    D install

    Required Project Files

    Before using the sdk, create these required Docker files:

    1. Dockerfile - Production-ready container configuration
    2. docker-compose.yaml - Production services configuration
    3. 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 .git for git)
    • Allows full customization of sdk behavior
    • Can override, add, or remove functionalities
    • Use $D_CLI_CORE to call original commands
    • Use $D_CLI_STUB to call the project cli itself
    # Example project cli customization
    install() {
        echo "Installing project dependencies..."
        npm install
        $D_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 help

    Documentation

    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

    sdk/
    ├── cli.sh          # Main cli_ctx 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
    └── index.sh        # Kit initialization script

    Command Categories

    Project Management

    • ins|install - Install dependencies and setup tools
    • ude|update - Update cli_ctx and sync project
    • sta|status - Show comprehensive project status

    Development Environment

    • dev|develop - Start development environment
    • bpa|build - Build project images
    • run - Execute commands in main container
    • exe|execute - Execute commands in specific container
    • she|shell - Open a shell in main service
    • tes|test - Run test suites
    • for|format - Format codebase

    Source Control

    • git - Git workflow management
    • pul|pull - Pull and merge latest changes
    • pus|push - Auto-commit and create PR

    Infrastructure

    • doc|docker - Docker operations
    • ser|service - Service management
    • pac|package - Package management

    Configuration & Security

    • con|config - Configuration management
    • sec|secret - Encrypted secrets management
    • env|envs - Environment variables (Usage: source D envs)

    Examples

    Development Workflow

    # Setup new project
    D install project
    
    # 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 PR

    Secrets 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 commits

    Container Operations

    # Container lifecycle
    D docker compose up    # Start services
    D shell                           # Interactive shell
    D run npm test                    # Execute commands
    D docker compose down            # Stop services

    Requirements

    • Docker - Container orchestration
    • Git - Version control
    • Bash 4.0+ - Shell compatibility
    • Node.js 16+ - For npm global installation

    Optional Dependencies

    • GitHub cli_ctx (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:

    1. Follow the Style Guide
    2. Add tests for new features
    3. Update documentation
    4. 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