Skip to main content

Wright Logo

Wright

Public-alpha, local-first agent orchestration for physical engineering.

Production Python CI Production Frontend CI OCI Pull Request Validation Production Docs Production Security Scan Production Release License: MIT Python 3.11+ Node 22+ GHCR image PyPI package GitHub Discussions GitHub stars


Public Alpha Status

Wright is alpha software for developer testing, MCP porting, demos, and selected beta feedback. Expect rough edges, incomplete workflows, and changing APIs.

The status badges above are pinned to the production branch, main. Integration work happens on dev, so dev CI may fail while production remains green; use the GitHub Actions branch filter when checking a specific branch.

Wright is bring-your-own-AI. The repository and Docker image do not bundle an LLM, API key, local model, hosted model, or paid engineering backend. Configure LLM_API_URL, LLM_API_KEY, and LLM_API_MODEL for an OpenAI-compatible endpoint, a local model server, or a hosted provider.

MCP-specific host software such as FreeCAD, OpenSCAD, CalculiX, Blender, vendor CAD systems, license managers, or hardware drivers is installed only for the selected MCP validation or usage case. It is not part of the base Docker image. Engineering MCP server validation follows the clean-container process.

Why Wright?

Engineering teams need AI-assisted workflows without handing every design to a single hosted black box. Wright coordinates agents and deterministic tools while leaving LLM/provider choice, credentials, licenses, and host software under the operator's control.

The first public alpha is aimed at developers, MCP porters, demo users, and selected beta feedback. Local and hybrid deployments are supported, but real engineering toolchains still require explicit configuration.

What Works Today

  • Agent orchestration surfaces for engineering workflows.
  • MCP tool registry metadata and selected-server validation paths.
  • Deterministic CAD, CAE, CAM, and calculation tool actuation through adapters.
  • Docker appliance for the Wright API, static web UI, Hermes profile/bootstrap, and general validation tooling.
  • A manager-neutral packaged runtime with a production Hermes Git adapter and a direct MCP profile for Codex. OpenClaw integration remains future work.
  • BYO-AI configuration for local or hosted OpenAI-compatible endpoints.

The Docker appliance is not a complete CAD/CAE/CAM workstation and does not silently install every possible backend.

User Interface

Agent Chat Interface

Interact with local LLM agents to iterate on designs, request modifications, or write code.

Agent Chat Interface

Tool Registry

View engineering tools, MCP status, and validation metadata available to agents.

Tool Registry

Workspace Artifacts

Review files, generated artifacts, logs, and viewer panels inside the active workspace. CAD files, scripts, screenshots, and diagnostics stay local to the workspace volume or checkout you control.

Workspace Artifacts

Quick Start

Native Hermes (Primary User Path)

Hermes is Wright's primary manager path. Hermes uses Git for plugin installation, so Git is its one adapter prerequisite; Wright itself does not require Docker, Node.js, npm, a Wright checkout, WRIGHT_REPO_DIR, or a manual Python package command. Install the thin production adapter through Hermes:

hermes plugins install https://github.com/burhop/hermes-plugin-wright --enable

Then use /wright start, /wright status, /wright doctor, /wright stop, /wright update, /wright rollback, /wright uninstall, and the separately confirmed /wright purge. See the native Hermes guide for data behavior and the live availability gate.

Docker Appliance

Docker is the mandatory turnkey path for users who want a working appliance without Hermes setup. Published release images use burhop/wright:<tag> on Docker Hub and ghcr.io/burhop/wright:<tag> on GHCR.

With a release image and an env file:

cp docker/.env.example docker/.env
# Edit docker/.env and set LLM_API_URL, LLM_API_KEY, and LLM_API_MODEL
docker run --rm -p 127.0.0.1:8080:8000 --env-file docker/.env burhop/wright:<tag>

From a source checkout while developing or before a release image is cut:

git clone https://github.com/burhop/wright.git
cd wright
cp docker/.env.example docker/.env
# Edit docker/.env and set LLM_API_URL, LLM_API_KEY, and LLM_API_MODEL
docker compose -f docker-compose.minimal.yml up -d --build

Then open:

http://localhost:8080

The default docker-compose.yml also starts Jaeger and maps Wright to http://localhost:8000. See the Docker quickstart and Docker deployment guide for LAN access, local model server, persistent volume, and cleanup examples.

For development outside Docker, see CONTRIBUTING.md.

Images and Releases

Public release images are published as:

burhop/wright:<tag>
ghcr.io/burhop/wright:<tag>

wright-engineering is the one complete public application distribution used by every supported manager adapter. The Hermes repository is a standard-library-only Git adapter; Codex connects directly through an MCP profile. Neither adapter duplicates Wright lifecycle or application code, and the public wheel has no dependency on private wright-* packages.

Every production release requires both the published native Hermes lifecycle and byte-identical Docker publication to GHCR and Docker Hub. Prerelease tags such as v0.1.0-alpha.1 do not move latest; stable tags may.

Architecture

Wright is a modular monorepo with a FastAPI gateway, React/Vite web UI, agent-neutral workspace services, Hermes and future runtime adapters, an MCP tool registry, and local workspace state.

flowchart TD
    User([User Web Browser]) -->|HTTP / WebSockets| API[FastAPI API Gateway]
    API -->|Thin HTTP translation| Workspace[Workspace Service]
    Workspace -->|Runtime selection and context| Agent[Agent Adapters]
    Workspace -->|Tool assignment and policy| MCP[MCP Tool Registry]
    API -->|Catalog and lifecycle reads| MCP
    Agent -->|Wright gateway protocol| MCP
    MCP -->|Selected server| Tools[CAD, CAE, CAM, calculators]
    API -->|State, files, and logs| LocalState[SQLite and local workspace files]

Hermes remains the default first-class adapter, but .hermes.md and ~/.hermes profile behavior lives in Hermes adapter/profile code. Generic workspace lifecycle code delegates context materialization through packages/agent_adapters contracts so OpenClaw and future engines can plug in without inheriting Hermes file formats.

Repository Structure

wright/
|-- apps/
|   |-- api/                    # FastAPI gateway
|   `-- web/                    # React + Vite frontend
|-- packages/
|   |-- core/                   # Shared domain models and logging
|   |-- agent_adapters/         # Adapter pattern for agent runtimes
|   |-- workspace_service/      # Workspace application use cases and local adapters
|   |-- tool_registry/          # MCP registry and validation logic
|   `-- data_vault/             # SQLite lifecycle, repositories, and secret storage
|-- hermes-plugin-wright/       # Wright Hermes plugin compatibility package
|-- tests/
|   |-- ui-integration/         # Playwright integration tests
|   `-- e2e/                    # Smoke and system tests
|-- docker/                     # Dockerfile and supervisord configuration
|-- docs/                       # Documentation site content and runbooks
|-- specs/                      # Spec Kit feature artifacts
`-- .github/                   # Community templates and CI workflows

Refer to docs/virtual_engineer_architecture.pdf for the formal architecture analysis and constitution.md for core project engineering standards.

Development

Run the main local quality gates:

uv run pytest
uv run ruff check apps/api/ packages/
uv run ruff format --check apps/api/ packages/
npm ci
npx -w apps/web eslint .
npx prettier --check apps/web/
npx tsc --noEmit -p apps/web/tsconfig.app.json
npm run test --workspace=apps/web
npm run build --workspace=apps/web
mkdocs build --strict

Helper scripts live in scripts/, including public-alpha leak scans, Docker smoke tests, CI failure log fetching, and release checks.

Spec Kit

Wright uses spec-kit for design-led feature work. Most substantive changes should start with a feature spec, plan, tasks, and implementation checklist under specs/.

Contributing

Contributions are welcome. Please read CONTRIBUTING.md for local setup, branch discipline, testing, pull request expectations, and the Spec Kit workflow.

Looking for a place to start? Browse issues labeled good-first-issue.

Community and Support

  • Ask usage questions in GitHub Discussions.
  • Contact maintainers for support, sponsorship, and partner questions at wright@makerengineer.com.
  • Report reproducible bugs with GitHub Issues.
  • Report security issues privately using SECURITY.md; do not open public security issues.

Support and Sponsorship

Wright is open source, but integration testing, model evaluation, and engineering tool adapters require ongoing resources.

  • API, token, and compute sponsorships help cover continuous LLM testing.
  • Hardware contributions help test local-first and air-gapped deployments.
  • Tool ecosystem contributions help expand the MCP catalog safely.
  • Code, docs, and Spec Kit contributions help harden the public alpha.

Sponsor Wright on GitHub

License

This project is licensed under the MIT License. See LICENSE.

Star History and Contributors

Star History Chart

Contributors list

Metadata

Release files for wright-engineering 0.1.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for wright-engineering 0.1.9
File Size Uploaded Provenance Actions
wright_engineering-0.1.9.tar.gz 564.8 kB With provenance Details for wright_engineering-0.1.9.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for wright-engineering 0.1.9
File Interpreter ABI Platform Actions
wright_engineering-0.1.9-py3-none-any.whl Python 3 none any Details for wright_engineering-0.1.9-py3-none-any.whl

Total release size: 1.2 MB

Release files / wright_engineering-0.1.9.tar.gz

Download URL wright_engineering-0.1.9.tar.gz
Size 564.8 kB
Tags Source
SHA-256 checksum
How to use checksums
515e7ad1df9347d484290a158c606312ed71ddf04a4e66be08a203b9c20bdece
BLAKE2b-256 checksum
How to use checksums
6baca957a27199cbb901aad3d7fa9c033d41e0b0bda6518d902f21fa5bbdf87f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.

Transparency log

Release files / wright_engineering-0.1.9-py3-none-any.whl

Download URL wright_engineering-0.1.9-py3-none-any.whl
Size 631.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e81e88d6131d19437b284af692a391f8ffc6c7c8b1ea00d04ce2aec580221a9f
BLAKE2b-256 checksum
How to use checksums
74b58f07377d950536273c8ac18c414e44e004ffdf0aabd50e1df66872794adf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.

Transparency log

Security for wright-engineering 0.1.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for wright_engineering-0.1.9.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page