Skip to content

A command line interface tool designed for efficient management and automation within your internal developer platform.

License

Notifications You must be signed in to change notification settings

thothforge/thothctl

Repository files navigation

Publish Python Package

Thoth Framework

ThothCTL MCP

Thoth Framework is a framework to create and manage the Internal Developer Platform tasks for infrastructure, devops, devsecops, software developers, and platform engineering teams aligned with the business objectives:

  1. Minimize mistakes.
  2. Increase velocity
  3. Improve products
  4. Enforce compliance
  5. Reduce lock-in

Mapping Mechanisms

Business Objective Mechanism Implementation
Minimize mistakes Meaninful defaults Templates
Increase velocity Automation IaC Scripts
Improve products Fill product gaps New components
Enforce compliance Restrict choinces Wrappers
Reduce lock-in Abstraction Service layers

Thoth allows you to extend and operate your Developer Control Plane, and enable the developer experience with the internal developer platform trough command line.

Thoth and DCP

Tools

ThothCTL

Package for accelerating the adoption of Internal Frameworks, enable reusing and interaction with the Internal Developer Platform.

Use cases

  • Template Engine:

    • Build and configure any kind of template
    • Handling templates to create, add, remove or update components
    • Code generation
  • Automate tasks:

    • Create and bootstrap local development environment
    • Extend CI/CD pull request workflow
    • Create documentation for projects (IaC), Generative AI doc generation
  • Check and compliance:

    • Check project structure
      • DevSecOps for IaC (Terraform, tofu)
        • Scan your IaC terraform,tofu templates
        • Generate reports
        • Manage inventory and dependencies
        • Review IaC changes and make suggestions (Generative AI)
  • Internal Developer Platform CLI

    • Create projects from your templates
    • Source control setup
    • Scaffold - quickly set up the structure of a project.

Getting Started

$ thothctl --help
Usage: thothctl [OPTIONS] COMMAND [ARGS]...

  ThothForge CLI - The Internal Developer Platform CLI

Options:
  --version                  Show the version and exit.
  --debug                    Enable debug mode
  -d, --code-directory PATH  Configuration file path
  --help                     Show this message and exit.

Commands:
  check      Initialize and setup project configurations
  document   Initialize and setup project configurations
  generate   Generate IaC from rules, use cases, and components
  init       Initialize and setup project configurations
  inventory  Create Inventory for the iac composition.
  list       List Projects and Spaces managed by thothctl locally
  mcp        Model Context Protocol (MCP) server for ThothCTL
  project    Convert, clean up and manage the current project
  remove     Remove Projects manage by thothctl
  scan       Scan infrastructure code for security issues.

Third Party Tools

OpenTofu is a fork of Terraform that is open-source, community-driven, and managed by the Linux Foundation.

An open source framework for building developer portals.

Terragrunt is a flexible orchestration tool that allows Infrastructure as Code to scale.

Generate Terraform modules documentation in various formats.

Checkov scans cloud infrastructure configurations to find misconfigurations before they're deployed.

Use Trivy to find vulnerabilities (CVE) & misconfigurations (IaC) across code repositories, binary artifacts, container images, Kubernetes clusters, and more. All in one tool!

Requirements

  • Linux Environment or Windows environment

This documentation uses wsl with ubuntu 24.04 but you can use other superior version

OS Packages

  • dot or graphviz

You can install them with:

Windows

Chocolatey packages Graphviz for Windows.

choco install graphviz

Linux

Install packages with apt for Linux/Debian

sudo apt install graphviz -y
  • python >= 3.8

    • check: python --version
  • wkhtmltopdf

You can install it using:

apt-get install wkhtmltopdf

Visit wkhtmltopdf for more.

AddOns

If you are going to send messages to Microsoft Teams channel you must set an environment variable with name webhook

Visit Webhooks and connectors for more.

Python packages

There are many dependencies for thothctl functions, these dependencies are automatically installed when run pip install command.

Install

pip install --upgrade thothctl

Version control Systems (Azure DevOps, Github, Gitlab)

RoadMap 🧗‍♂

  • Add Autocomplete to Commands and subcommands
  • Integrate MCP to improve compatibility and interoperability with AI LLM
  • Improve Inventory capabilities
  • Create Stacks and Infrastructure composition engine

About

A command line interface tool designed for efficient management and automation within your internal developer platform.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages