A taxonomy management system for software architecture
Project description
Katalyst Taxonomy
Define, organize, and manage your software architecture as code.
Katalyst Taxonomy is a declarative framework for modeling your infrastructure and organization as a hierarchical tree. The System Wing organizes systems (which can nest), stacks, and layers; the Org Wing tracks organizations, programs, projects, teams, and team members. It brings structure to complex architectures, enabling consistent scaffolding, automated discovery, and seamless CI/CD integration.
Why Katalyst?
Modern software architectures sprawl across hundreds of services, each with their own conventions, configurations, and tribal knowledge. Teams struggle with:
- Inconsistent naming - Every service structured differently
- Lost knowledge - New team members can't discover what exists
- Manual scaffolding - Copy-paste leads to drift and errors
- Fragile automation - CI/CD pipelines hardcode paths and assumptions
Katalyst solves these problems by providing a single source of truth for your architecture, expressed as simple YAML files that both humans and tools can understand.
Key Features
| Feature | Description |
|---|---|
| Hierarchical Modeling | Technical (System > Stack > Layer), Portfolio (Organization > Program > Project), and Organizational (Organization > Team > Team Member) hierarchies |
| Declarative YAML | Simple, version-controlled architecture definitions |
| Schema Validation | Catch errors early with JSON Schema validation |
| Scaffolding Templates | Generate consistent project structures from layer types |
| Interactive TUI | Browse and manage your taxonomy visually |
| Environment-Aware | First-class support for dev/staging/prod environments |
| Extensible Plugins | 57 bundled actions, 12 tools, 4 layer types — extend with your own |
| Git Hook Integration | Map kata actions to pre-commit, Husky, or Lefthook hooks |
| AI Agents & Skills | Bundled AI coding assistants with taxonomy-aware context |
| Graph Database Export | Export taxonomy to Neo4j for visualization, impact analysis, and dependency queries (kata tax export neo4j) |
| MCP Server | Model Context Protocol server for AI assistant integration (30 tools, 6 resources, 3 prompts) |
Quick Start
Install in Your Repository
# Install Katalyst (requires Python 3.12+)
pip install katalyst-taxonomy
# Initialize a new taxonomy in your repo
kata tax init --yes
# See what was created
kata tax tree
Create Your First Architecture
# Create a system (root of your architecture)
kata tax create system my-platform \
-d "My application platform" \
-O team@example.com \
-e dev -e prod
# Create a nested system (logical grouping)
kata tax create system backend \
--parent my-platform \
-d "Backend services" \
-O backend@example.com \
-e dev -e prod
# Create a stack (deployable component)
kata tax create stack api \
--parent backend \
-d "REST API service" \
-O backend@example.com \
-e dev -e prod
# Create a layer with scaffolding
kata tax create layer app \
--parent api \
--parent-system backend \
--parent-system my-platform \
--layer-type app-docker \
-d "API application container" \
-O backend@example.com \
-e dev -e prod
# View your taxonomy
kata tax tree
Output:
my-platform [system]
backend [system]
api [stack]
app [layer]
Explore Interactively
# Launch the terminal UI
uv run python -m katalyst_taxonomy.tui
# Keyboard: arrows to navigate, 'n' to create, 'c' to clone, 'q' to quit
Documentation
| Guide | Description |
|---|---|
| Why Katalyst | Value proposition and use cases |
| Getting Started | Installation and first taxonomy |
| Core Concepts | Hierarchy, FQTNs, environments |
| CLI Reference | Complete command documentation |
| TUI Guide | Interactive terminal interface |
| Agents & Skills | AI coding assistants for your taxonomy |
| Layer Types | Built-in scaffolding templates |
For Plugin Developers
| Guide | Description |
|---|---|
| Plugin Architecture | How plugins work |
| Creating Layer Types | Custom scaffolding templates |
| Creating Actions | Executable layer commands |
For Contributors
| Guide | Description |
|---|---|
| Contributing Guide | How to contribute |
| Architecture | Codebase design |
| Development Setup | Local environment |
CLI Commands
# View commands
kata tax tree # Hierarchical tree view
kata tax list # Detailed list by type
kata tax json # Export as JSON
kata tax get <name> # Get specific node
# Management
kata tax init # Initialize taxonomy in repo
kata tax create <type> <name> # Create new node
kata tax add --layer-type <name> # Add layer type templates
kata tax remove --layer-type <n> # Remove layer type
kata tax upgrade # Upgrade installed components
kata tax upgrade --item <name> # Upgrade a specific item
# Validation
kata tax lint # Validate against schemas
kata tax status # Show installed components
# AI Agents
kata tax agents init # Initialize .agents/ and seed bundled agents/skills
kata tax agents list # List agents and skills (local + bundled)
kata tax agents create <name> # Create new agent
kata tax agents generate # Generate from templates
kata tax agents sync # Sync bundled content after upgrades
kata tax agents validate # Validate definitions
# File Resolution
kata tax resolve --files <path>... # Map files to layer FQTNs
# Git Hooks
kata tax hooks detect-tool # Show configured hook tool
kata tax hooks generate --tool <t> # Generate native hook config
kata tax hooks run # Run actions on affected layers
kata tax hooks validate # Validate hook config
# Graph Export
kata tax export neo4j # Incremental sync to Neo4j
kata tax export neo4j --full # Full export (clear + recreate)
kata tax export neo4j --dry-run # Preview what would be exported
Built-in Layer Types
| Type | Description |
|---|---|
app-docker |
Docker container application with multi-stage build |
k8s-kustomize |
Kubernetes manifests with Kustomize overlays |
k8s-argocd |
Argo CD application with GitOps workflow |
iac-terragrunt |
Terraform modules with Terragrunt wrapper |
Add more with kata tax add --layer-type <name> or create your own.
Project Structure
After kata tax init, your repository will have:
your-repo/
.global/
taxonomy/
taxonomy.lock # Tracks installed components
layer_types/ # Layer type templates
app-docker/
k8s-kustomize/
...
actions/ # Action definitions + Just recipes
extensions/ # Extension plugins
capabilities/ # Capability declarations
cicd/ # CI/CD templates
.agents/ # AI agent definitions
agents.yaml # Configuration
agents/ # Agent .md files
skills/ # Skill packages
.taxignore # Paths to exclude from discovery
Your taxonomy nodes live alongside your code:
your-repo/
system.yaml # System definition
backend/
system.yaml # Nested system definition
api/
stack.yaml # Stack definition
app/
layer.yaml # Layer definition
Dockerfile # Scaffolded from layer type
base/
dev/
Development
# Clone and install
git clone https://github.com/esimplicityinc/katalyst-taxonomy.git
cd katalyst-taxonomy
uv sync
pip install katalyst-taxonomy[neo4j] # Enable Neo4j graph export
# Run tests
uv run pytest
# Run linters
uv run ruff check
uv run pyright
# Run CLI
uv run kata --help
# Run TUI
uv run python -m katalyst_taxonomy.tui --path .
# Rebuild type registry (after editing node_types/)
uv run kata tax build-types
License
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file katalyst_taxonomy-1.2.0.tar.gz.
File metadata
- Download URL: katalyst_taxonomy-1.2.0.tar.gz
- Upload date:
- Size: 395.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48de2eb5fe730e7c297ee5a4bcd597a1c93cf876087efc92a5442475bca56189
|
|
| MD5 |
a1601d86734795593d767f0182d8208c
|
|
| BLAKE2b-256 |
e4d89e16e874213e06d27d1731b8e9e5e7310461943b74ed5c2172440e0f1602
|
Provenance
The following attestation bundles were made for katalyst_taxonomy-1.2.0.tar.gz:
Publisher:
release.yml on esimplicityinc/katalyst-taxonomy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
katalyst_taxonomy-1.2.0.tar.gz -
Subject digest:
48de2eb5fe730e7c297ee5a4bcd597a1c93cf876087efc92a5442475bca56189 - Sigstore transparency entry: 1245465631
- Sigstore integration time:
-
Permalink:
esimplicityinc/katalyst-taxonomy@9ce4f0bdea570c930061e38d61f86eefc06d4539 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/esimplicityinc
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9ce4f0bdea570c930061e38d61f86eefc06d4539 -
Trigger Event:
push
-
Statement type:
File details
Details for the file katalyst_taxonomy-1.2.0-py3-none-any.whl.
File metadata
- Download URL: katalyst_taxonomy-1.2.0-py3-none-any.whl
- Upload date:
- Size: 606.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20c63ed084c5c034909149d0006cec4b9c73522c2b025ed678c38fc5a057ae4d
|
|
| MD5 |
a932bb948e20ee460ffeb050feec50fc
|
|
| BLAKE2b-256 |
10cebbdacb1265dceb0700fe4fe1dd95d85db4c2732b685dfcaf23c4dab4bb35
|
Provenance
The following attestation bundles were made for katalyst_taxonomy-1.2.0-py3-none-any.whl:
Publisher:
release.yml on esimplicityinc/katalyst-taxonomy
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
katalyst_taxonomy-1.2.0-py3-none-any.whl -
Subject digest:
20c63ed084c5c034909149d0006cec4b9c73522c2b025ed678c38fc5a057ae4d - Sigstore transparency entry: 1245465635
- Sigstore integration time:
-
Permalink:
esimplicityinc/katalyst-taxonomy@9ce4f0bdea570c930061e38d61f86eefc06d4539 -
Branch / Tag:
refs/tags/v1.2.0 - Owner: https://github.com/esimplicityinc
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@9ce4f0bdea570c930061e38d61f86eefc06d4539 -
Trigger Event:
push
-
Statement type: