Documentation
Configuration

Configuration

The application reads from the /content directory (or the value of XEOCONTEXT_CONTENT_DIR in the environment).

The xeocontext.config.json file

This file controls the global settings and navigation sidebar of the application.

  • projectName: Displayed in the header.
  • projectDomain: Optional domain name.
  • navigation: An array of sections that defines the System Design sidebar.
    • title: Section header.
    • items: Link items. Supports up to 3 nested levels.
      • title: Link text.
      • href: Path to the Markdown file (relative to content, without .md extension). Important: The application maps the URL path /content/some/path to the file /content/some/path.md OR /content/some/path/readme.md.
      • items: (Optional) Sub-items for creating nested menus.
  • openapi: Path to the main OpenAPI definition file. If present, an "OpenAPI" tab will appear in the UI.
  • asyncapi: Path to the main AsyncAPI definition file. If present, an "AsyncAPI" tab will appear in the UI.
{
    "projectName": "ExampleApp",
    "projectDomain": "exampleapp.com",
    "navigation": [
        {
            "title": "System Architecture",
            "items": [
                { "title": "Overview", "href": "/" },
                { "title": "Infrastructure & HA", "href": "/global/infrastructure" },
                { "title": "Security", "href": "/global/security" },
                { "title": "Database Schema", "href": "/global/database" },
                { "title": "Workflows", "href": "/global/workflows" }
            ]
        },
        {
            "title": "Standards & ADRs",
            "items": [
                { "title": "API Standards", "href": "/global/standards/api-design" },
                { "title": "Error Handling", "href": "/global/standards/error-handling" },
                { "title": "Code Conventions", "href": "/global/standards/code-conventions" },
                { "title": "ADR 001 - DDD", "href": "/global/adrs/001-domain-driven-design" },
                { "title": "ADR 002 - Local First", "href": "/global/adrs/002-local-first-sync" },
                { "title": "ADR 003 - K8s", "href": "/global/adrs/003-k8s-infrastructure" }
            ]
        },
        {
            "title": "Domains",
            "items": [
                { "title": "Identity", "href": "/domains/identity" },
                { "title": "Todos", "href": "/domains/todos" },
                { "title": "Notes", "href": "/domains/notes" },
                { "title": "Library (Sync)", "href": "/domains/library" }
            ]
        }
    ],
    "openapi": "/global/gateway/openapi.yaml",
    "asyncapi": "/global/gateway/asyncapi.yaml"
}

The .agent/rules/content.md file

This file contains crucial instructions for Large Language Models (LLMs) to understand how to structure and generate content within your user design repository (a repository containing only Markdown, OpenAPI, AsyncAPI, and a docker-compose.yml).

It defines the Domain-Driven Structure, naming conventions, and best practices for creating cohesive system designs.

Compatibility:

  • Local AI Agents: This file is automatically detected by agents following the .agent convention.
  • Windsurf / Cursor: You can easily adapt these rules for popular AI code editors by copying the content to their respective rule configuration locations (e.g., .windsurf/rules/content.md or .cursor/rules/content.md).