Skip to the content.

Prism Documentation

Complete documentation for Prism — the modular, hierarchical development environment installer. See About Prism for an overview.


Documentation Structure

docs/
├── index.md                              # This page
├── getting-started/
│   ├── installation.md                   # Install Prism
│   ├── quickstart.md                     # Up and running in minutes
│   └── choosing-a-prism.md              # Pick the right prism
├── user-guide/
│   ├── creating-configurations.md        # Author your own prism
│   ├── config-inheritance.md             # Sub-prism merging deep dive
│   ├── custom-registries.md              # Private registries
│   ├── settings-panel.md                 # Web UI settings drawer
│   ├── local-docs-server.md              # Local workspace discovery server
│   ├── themes.md                         # Theme system and customization
│   └── cascading-dropdowns.md            # Cascading field dependencies
├── reference/
│   ├── architecture.md                   # VBD-inspired layered architecture
│   ├── configuration-schema.md           # Full package.yaml schema
│   ├── package-system.md                 # Prism system internals
│   ├── npm-packages.md                   # NPM distribution
│   ├── merge-strategies.md               # Tool merge rules
│   ├── bad-config-examples.md            # Common validation errors and fixes
│   ├── rollback-system.md                # Installation rollback
│   └── privilege-separation.md           # Sudo / privilege separation
└── contributor-guide/
    ├── contributing.md
    ├── testing.md
    ├── ci-cd.md
    └── publishing-prisms.md              # Publishing prisms to npm

Quick Start

New user? Start here:

  1. Installation — Install dependencies, clone the repo
  2. Quickstart — Up and running in minutes
  3. Choosing a Prism — Find the right prism for your organization

Getting Started

Choosing a Prism

Complete catalog of pre-built prisms:

Includes: Decision tree, comparison matrix, installation commands

Creating Configurations

Step-by-step guide to authoring a custom prism:

Perfect for: IT teams creating company-specific prisms

Sub-Prism Inheritance

Deep dive into hierarchical configuration merging:

Perfect for: Understanding multi-level configuration

Custom Registries

Setting up private NPM registries:

Perfect for: Enterprise and air-gapped deployments


User Guide

Themes

Customize the installer UI appearance:

Cascading Dropdowns

Dynamic field dependencies in the installer UI:

Settings Panel

Web UI settings drawer for registry, CDN, and language overrides.

Local Docs Server

Post-install documentation server for browsing your workspace configuration.


Reference Documentation

Architecture

VBD-inspired layered architecture:

Perfect for: Contributors and anyone extending Prism

Configuration Schema

Complete package.yaml schema reference:

Perfect for: Writing and validating prisms

Prism System

Technical deep-dive into the prism system:

Perfect for: Advanced customization and troubleshooting

NPM Packages

Distributing prisms via NPM:

Perfect for: Distributing prisms to teams

Rollback System

Installation rollback and undo:

Perfect for: Understanding installation safety guarantees

Privilege Separation

Sudo session management and two-phase install:

Perfect for: Understanding Prism’s security model


Contributor Guide

Contributing

How to contribute to Prism:

Testing

Comprehensive testing guide:

CI/CD Pipeline

Complete CI/CD automation:

Publishing Prisms

End-to-end guide to publishing a prism package to npm:


Common Tasks

I want to…

Choose a prism for my team -> Choosing a Prism

Create a custom prism -> Creating Configurations

Understand how sub-prisms merge -> Sub-Prism Inheritance

Validate my package.yaml -> Configuration Schema

Set up a private registry -> Custom Registries

Customize the UI theme -> Themes

Set up cascading dropdowns -> Cascading Dropdowns

Understand the architecture -> Architecture

Publish to NPM -> NPM Packages

Roll back an installation -> Rollback System

View installation history -> Prism System

Set up CI/CD -> CI/CD Pipeline

Run tests -> Testing


Feature Highlights

Tool Registry

Tools are defined once in a centralized tool-registry.yaml file. Each tool specifies a label, summary, description, category, per-platform install commands, and per-platform uninstall commands. Child configs reference tools by string name only.

Learn more

Tool Categories

Tools are grouped into 7 categories: core, editor, containers, runtime, cloud, kubernetes, cli. The UI displays tools with category grouping, hover tooltips, and platform-aware filtering.

Prism System

Every prism is self-contained: identity, tool settings, and a hierarchy of composable sub-prisms.

my-company.prism
 +-- bundled_prisms
      +-- base         -> required, applies to everyone
      +-- divisions    -> user picks one
      +-- roles        -> user picks one

Learn more

Sub-Prism Inheritance

Settings flow down through tiers. Later layers extend earlier ones — tools merge by union, environment settings deep-merge, git config overrides.

Learn more

8 Starter Packages

From solo developers to Fortune 500 enterprises: prism, startup, opensource, university, fortune500, acme-corp, consulting-firm, and cli-test-prism. See all prisms

Installation Rollback

Every install persists a .prism_rollback.json manifest. Use prism rollback <workspace> from the CLI or the rollback button in the UI to reverse all actions. Learn more

Installation History

prism history scans for previous installations. Also available via the /api/history endpoint.

Beautiful Web UI

Tool selection page with category grouping, inline validation (no alerts), hover tooltips for tool descriptions, and platform-aware filtering. 5 themes, real-time progress, responsive design. Customize themes

Cascading Dropdowns

Dynamic field dependencies — selecting a division filters available teams automatically. Learn more

Privilege Separation

Normal operations run first, then privileged steps require explicit sudo approval. Learn more

VBD Architecture

Clean layered design: Managers (the “what”), Engines (the “how”), Accessors (the “where”). Learn more

Comprehensive Testing

590+ tests across unit, CLI, web, integration, and E2E suites. Pre-commit hooks enforce isort, black, flake8, and pytest. Learn more

Full CI/CD

GitHub Actions workflows, 3 environments, automated releases. Learn more


Learning Path

Beginner

  1. Main README — What is Prism?
  2. Quickstart — Install in minutes
  3. Choosing a Prism — Pick your prism

Intermediate

  1. Creating Configurations — Author a custom prism
  2. Sub-Prism Inheritance — Advanced merging
  3. Configuration Schema — Full schema reference

Advanced

  1. Architecture — System design
  2. Prism System — System internals
  3. NPM Packages — Distribution
  4. Contributing — Join development

Next Steps

# Clone and install
git clone https://github.com/andersonwilliam85/prism.git
cd prism
make install-dev

# Launch Web UI
make run
# Opens at http://localhost:5555

# Or use the CLI
prism install
prism ui

Prism — Refract complexity into clarity