Developer Docs
For people who want to build Serpent locally or become contributors: setup, architecture, testing, packaging, and how to participate. These pages ship on main. They are not the slice logs or internal specs in docs/internal/.
Developer documentation is split into two parts.
Part 1: Software development
For developers working on Serpent itself: architecture, building from source, testing.
- Setup — dependencies, first build, development environment
- Build & packaging — package / make / release pipeline / signing
- Architecture — process model, directory layout, key design
- Testing — test layers and how to run them
- Adding media format support — registry, import, preview, filters, protocols, and acceptance
- Branches and workflow — branching strategy, open source contribution process, and maintainer workflow discipline
- Contributing guide — open source collaboration, Pull Requests, and code gate requirements
- Contributors — contributions accepted and merged into the project
Other software docs (internal records live on the repo dev branch and are not published to the site):
- Development process — slice workflow and quality gates
- Domain model / Glossary
- Architecture decision records — ADR-0000 onward
- Implementation specs — slice specs
Part 2: Extension development
For developers writing plugins, scripts or MCP adapters. No software-architecture knowledge required — go straight to the extension author manual:
- Plugin development guide + best practices + API reference
- Plugin distribution and updates
- Official plugin reference implementations:
- Serpent-Plugin-Renamer — Unrestricted mode (
unrestricted), batch asset renaming and real-time diff preview built on standard host dialogs and list controls - Serpent-Plugin-MediaConverter — Media transcoding and compression extension demonstrating multi-profile media plans, background job queue lifecycle, and universal package distribution (
any) - Serpent-Plugin-ImageUpscaler — Unrestricted mode (
unrestricted), external AI inference binary orchestration, platform-specific packaging (darwin-arm64/win32-x64), and chunked content streaming
- Serpent-Plugin-Renamer — Unrestricted mode (
- Script development guide + API reference
- MCP development guide + API reference
End users: see Using plugins, Browser extension, and Automation.