JSPM

  • Created
  • Published
  • Downloads 213
  • Score
    100M100P100Q90011F
  • 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

  • @diseec/sdk
  • @diseec/sdk/index.sh

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