Project overview
Current development documentation
OpenCaddis was recently refactored. These pages describe the source currently in the repository: OpenCaddis.Server, OpenCaddis.Server.Builder, and OpenCaddis.App. Older blog posts are preserved as history and are not current product documentation.
What OpenCaddis is now
OpenCaddis is a local development and runtime workspace for FabrCore systems. It gives a .NET developer one place to configure models, create agents from the live registry, develop add-ons with skill-equipped Harness agents, run a local FabrCore host, and operate agents through Surface.
The current workflow
| Stage | Where | What happens |
|---|---|---|
| 1. Configure | App → Server → Cloud configuration | Save model and API-key documents separately for Server and Server Builder. |
| 2. Create | App → Server → Agents | Discover registered agent types, plugins, and tools, then create an agent and optionally add it to Surface. |
| 3. Develop | Server Builder + App → Builder | Select a project. OpenCaddis publishes its bundled Skills and provisions a dedicated FabrCore Harness coding agent. |
| 4. Publish | Builder agent | Build the project in Release and copy its primary DLL into the configured add-on directory. |
| 5. Run | Server + Surface | Start or restart the Server, load the add-on assembly, and work with registered agents in Surface. |
Current scope
Implemented in the current source
- Windows .NET MAUI application
- Loopback FabrCore Server and Surface
- Separate Server Builder host
- Local model and API-key configuration service
- Solution and class-library creation
- Registry-driven agent creation with selectable plugins and tools
- Managed, exact-version FabrCore Agent Skills
- Todo-driven Harness coding agents with Roslyn, scoped filesystem, and controlled .NET CLI tools
- Compiled add-on discovery and collectible loading
Important expectations
- The project is under active development.
- The current app project targets Windows.
- The repository is the authoritative distribution today.
- Model and API keys are stored as plaintext in local app data.
- The Server and configuration service listen only on loopback HTTP URLs.