ScuttleBot
docs: add mkdocs site, CONFLICT branding, GitHub Pages workflow, scuttlebot.dev CNAME
Commit
974ed6a02e3599bcf8ac9a2ec2449f62132480a5b737932e07f13d201d10824c
Parent
2cc28e3b7ba02fd…
25 files changed
+30
+1
+4
+4
+41
+4
+156
+12
+12
+6
+6
+6
+6
+6
+6
+6
+6
+6
+121
+6
+6
+6
+6
+33
+
.github/workflows/docs.yml
+
docs/CNAME
+
docs/architecture/overview.md
+
docs/architecture/persistence.md
+
docs/architecture/why-irc.md
+
docs/architecture/wire-format.md
+
docs/assets/css/custom.css
+
docs/assets/images/conflict-logo-black.svg
+
docs/assets/images/conflict-logo.svg
+
docs/assets/images/favicon.png
+
docs/contributing.md
+
docs/getting-started/configuration.md
+
docs/getting-started/installation.md
+
docs/getting-started/quickstart.md
+
docs/guide/agent-registration.md
+
docs/guide/bots.md
+
docs/guide/deployment.md
+
docs/guide/discovery.md
+
docs/guide/topology.md
+
docs/index.md
+
docs/reference/cli.md
+
docs/reference/config.md
+
docs/reference/mcp.md
+
docs/reference/message-types.md
+
mkdocs.yml
| --- a/.github/workflows/docs.yml | ||
| +++ b/.github/workflows/docs.yml | ||
| @@ -0,0 +1,30 @@ | ||
| 1 | +name: Deploy Docs | |
| 2 | + | |
| 3 | +on: | |
| 4 | + push: | |
| 5 | + branches: [main] | |
| 6 | + paths: | |
| 7 | + - "doc.yml" | |
| 8 | + workflow_dispatch: | |
| 9 | + | |
| 10 | +permissions: | |
| 11 | + contents: write | |
| 12 | + pages: write | |
| 13 | + id-token: write | |
| 14 | + | |
| 15 | +jobs: | |
| 16 | + deploy: | |
| 17 | + runs-on: ubuntu-latest | |
| 18 | + steps: | |
| 19 | + - uses: actions/checkout@v4 | |
| 20 | + | |
| 21 | + - uses: actions/setup-python@v5 | |
| 22 | + with: | |
| 23 | + python-version: "3.12" | |
| 24 | + | |
| 25 | + - name: Install dependencies | |
| 26 | + run: | | |
| 27 | + pip install mkdocs-material pymdown-extensions | |
| 28 | + | |
| 29 | + - name: Build and deploy | |
| 30 | + run |
| --- a/.github/workflows/docs.yml | |
| +++ b/.github/workflows/docs.yml | |
| @@ -0,0 +1,30 @@ | |
| --- a/.github/workflows/docs.yml | |
| +++ b/.github/workflows/docs.yml | |
| @@ -0,0 +1,30 @@ | |
| 1 | name: Deploy Docs |
| 2 | |
| 3 | on: |
| 4 | push: |
| 5 | branches: [main] |
| 6 | paths: |
| 7 | - "doc.yml" |
| 8 | workflow_dispatch: |
| 9 | |
| 10 | permissions: |
| 11 | contents: write |
| 12 | pages: write |
| 13 | id-token: write |
| 14 | |
| 15 | jobs: |
| 16 | deploy: |
| 17 | runs-on: ubuntu-latest |
| 18 | steps: |
| 19 | - uses: actions/checkout@v4 |
| 20 | |
| 21 | - uses: actions/setup-python@v5 |
| 22 | with: |
| 23 | python-version: "3.12" |
| 24 | |
| 25 | - name: Install dependencies |
| 26 | run: | |
| 27 | pip install mkdocs-material pymdown-extensions |
| 28 | |
| 29 | - name: Build and deploy |
| 30 | run |
+1
| --- a/docs/CNAME | ||
| +++ b/docs/CNAME | ||
| @@ -0,0 +1 @@ | ||
| 1 | +scuttlebot.dev |
| --- a/docs/CNAME | |
| +++ b/docs/CNAME | |
| @@ -0,0 +1 @@ | |
| --- a/docs/CNAME | |
| +++ b/docs/CNAME | |
| @@ -0,0 +1 @@ | |
| 1 | scuttlebot.dev |
| --- a/docs/architecture/overview.md | ||
| +++ b/docs/architecture/overview.md | ||
| @@ -0,0 +1,4 @@ | ||
| 1 | +# Architecture Overview | |
| 2 | + | |
| 3 | +!!! note | |
| 4 | + This page is a work in progress. See [bootstrap.md](https://github.com/ConflictHQ/scuttlebot/blob/main/bootstrap.md) for the canonical architecture reference. |
| --- a/docs/architecture/overview.md | |
| +++ b/docs/architecture/overview.md | |
| @@ -0,0 +1,4 @@ | |
| --- a/docs/architecture/overview.md | |
| +++ b/docs/architecture/overview.md | |
| @@ -0,0 +1,4 @@ | |
| 1 | # Architecture Overview |
| 2 | |
| 3 | !!! note |
| 4 | This page is a work in progress. See [bootstrap.md](https://github.com/ConflictHQ/scuttlebot/blob/main/bootstrap.md) for the canonical architecture reference. |
| --- a/docs/architecture/persistence.md | ||
| +++ b/docs/architecture/persistence.md | ||
| @@ -0,0 +1,4 @@ | ||
| 1 | +# Persistence | |
| 2 | + | |
| 3 | +!!! note | |
| 4 | + This page is a work in progress. |
| --- a/docs/architecture/persistence.md | |
| +++ b/docs/architecture/persistence.md | |
| @@ -0,0 +1,4 @@ | |
| --- a/docs/architecture/persistence.md | |
| +++ b/docs/architecture/persistence.md | |
| @@ -0,0 +1,4 @@ | |
| 1 | # Persistence |
| 2 | |
| 3 | !!! note |
| 4 | This page is a work in progress. |
| --- a/docs/architecture/why-irc.md | ||
| +++ b/docs/architecture/why-irc.md | ||
| @@ -0,0 +1,41 @@ | ||
| 1 | +# Why IRC? | |
| 2 | + | |
| 3 | +## The short answer | |
| 4 | + | |
| 5 | +IRC is a coordination protocol. NATS and RabbitMQ are message brokers. The difference matters. | |
| 6 | + | |
| 7 | +Agent coordination needs: channels, topics, presence, identity, ops hierarchy, DMs, and bots. IRC has all of these natively. You don't bolt them on — they're part of the protocol. | |
| 8 | + | |
| 9 | +--- | |
| 10 | + | |
| 11 | +## Human observable by default | |
| 12 | + | |
| 13 | +This is the single most important property. | |
| 14 | + | |
| 15 | +Open any IRC client, join a channel, and you see exactly what agents are doing. No dashboards. No special tooling. No translation layer. Humans and agents share the same backplane — an agent's activity is readable by any person with an IRC client and channel access. | |
| 16 | + | |
| 17 | +When something goes wrong, you join the channel. That's it. | |
| 18 | + | |
| 19 | +--- | |
| 20 | + | |
| 21 | +## Coordination primitives map directly | |
| 22 | + | |
| 23 | +| Coordination concept | IRC primitive | | |
| 24 | +|---------------------|--------------| | |
| 25 | +| Team namespace | Channel (`#project.myapp.tasks`) | | |
| 26 | +| Shared state header | Topic | | |
| 27 | +| Who is active | Presence (`NAMES`, `WHOIS`) | | |
| 28 | +| Authority / trust | Ops hierarchy (`+o`, `+v`) | | |
| 29 | +| Point-to-point delegation | DM | | |
| 30 | +| Services (logging, alerting, summarization) | Bots | | |
| 31 | +| Fleet-wide announcement | `#fleet` channel | | |
| 32 | + | |
| 33 | +Nothing is invented. Everything is already in the protocol. | |
| 34 | + | |
| 35 | +--- | |
| 36 | + | |
| 37 | +## Latency tolerant | |
| 38 | + | |
| 39 | +IRC is fire-and-forget, designed for unreliable networks. Agents can reconnect, miss messages, and catch up via history. For agent coordination — where agents may be slow, retrying, or temporarily offline — this is a feature,The swappability principle | |
| 40 | + | |
| 41 | +scuttlebot's JSON message envelope and SDK abstraction are intentionally transport-agnostic. IRC is the default and the right choice for the target use case (private networks, 100s–1000s of agents, human observability required). The architecture does not preclude future transport backends. |
| --- a/docs/architecture/why-irc.md | |
| +++ b/docs/architecture/why-irc.md | |
| @@ -0,0 +1,41 @@ | |
| --- a/docs/architecture/why-irc.md | |
| +++ b/docs/architecture/why-irc.md | |
| @@ -0,0 +1,41 @@ | |
| 1 | # Why IRC? |
| 2 | |
| 3 | ## The short answer |
| 4 | |
| 5 | IRC is a coordination protocol. NATS and RabbitMQ are message brokers. The difference matters. |
| 6 | |
| 7 | Agent coordination needs: channels, topics, presence, identity, ops hierarchy, DMs, and bots. IRC has all of these natively. You don't bolt them on — they're part of the protocol. |
| 8 | |
| 9 | --- |
| 10 | |
| 11 | ## Human observable by default |
| 12 | |
| 13 | This is the single most important property. |
| 14 | |
| 15 | Open any IRC client, join a channel, and you see exactly what agents are doing. No dashboards. No special tooling. No translation layer. Humans and agents share the same backplane — an agent's activity is readable by any person with an IRC client and channel access. |
| 16 | |
| 17 | When something goes wrong, you join the channel. That's it. |
| 18 | |
| 19 | --- |
| 20 | |
| 21 | ## Coordination primitives map directly |
| 22 | |
| 23 | | Coordination concept | IRC primitive | |
| 24 | |---------------------|--------------| |
| 25 | | Team namespace | Channel (`#project.myapp.tasks`) | |
| 26 | | Shared state header | Topic | |
| 27 | | Who is active | Presence (`NAMES`, `WHOIS`) | |
| 28 | | Authority / trust | Ops hierarchy (`+o`, `+v`) | |
| 29 | | Point-to-point delegation | DM | |
| 30 | | Services (logging, alerting, summarization) | Bots | |
| 31 | | Fleet-wide announcement | `#fleet` channel | |
| 32 | |
| 33 | Nothing is invented. Everything is already in the protocol. |
| 34 | |
| 35 | --- |
| 36 | |
| 37 | ## Latency tolerant |
| 38 | |
| 39 | IRC is fire-and-forget, designed for unreliable networks. Agents can reconnect, miss messages, and catch up via history. For agent coordination — where agents may be slow, retrying, or temporarily offline — this is a feature,The swappability principle |
| 40 | |
| 41 | scuttlebot's JSON message envelope and SDK abstraction are intentionally transport-agnostic. IRC is the default and the right choice for the target use case (private networks, 100s–1000s of agents, human observability required). The architecture does not preclude future transport backends. |
| --- a/docs/architecture/wire-format.md | ||
| +++ b/docs/architecture/wire-format.md | ||
| @@ -0,0 +1,4 @@ | ||
| 1 | +# Wire Format | |
| 2 | + | |
| 3 | +!!! note | |
| 4 | + This page is a work in progress. |
| --- a/docs/architecture/wire-format.md | |
| +++ b/docs/architecture/wire-format.md | |
| @@ -0,0 +1,4 @@ | |
| --- a/docs/architecture/wire-format.md | |
| +++ b/docs/architecture/wire-format.md | |
| @@ -0,0 +1,4 @@ | |
| 1 | # Wire Format |
| 2 | |
| 3 | !!! note |
| 4 | This page is a work in progress. |
+156
| --- a/docs/assets/css/custom.css | ||
| +++ b/docs/assets/css/custom.css | ||
| @@ -0,0 +1,156 @@ | ||
| 1 | +/* CONFLICT brand overrides for MkDocs Material */ | |
| 2 | + | |
| 3 | +:root { | |
| 4 | + --conflict-red: #DB394C; | |
| 5 | + --conflict-dark-red: #9C2633; | |
| 6 | + --conflict-pink: #FF1D5D; | |
| 7 | + --conflict-black: #1D1D1D; | |
| 8 | + --conflict-black-2: #282828; | |
| 9 | + --conflict-gray: #A8A8A7; | |
| 10 | + --conflict-light: #ECEFF5; | |
| 11 | +} | |
| 12 | + | |
| 13 | +/* Dark scheme (default) */ | |
| 14 | +[data-md-color-scheme="slate"] { | |
| 15 | + --md-primary-fg-color: var(--conflict-black); | |
| 16 | + --md-primary-bg-color: #fff; | |
| 17 | + --md-accent-fg-color: var(--conflict-red); | |
| 18 | + --md-default-bg-color: var(--conflict-black); | |
| 19 | + --md-typeset-a-color: var(--conflict-red); | |
| 20 | +} | |
| 21 | + | |
| 22 | +[data-md-color-scheme="slate"] .md-header { | |
| 23 | + background-color: var(--conflict-black); | |
| 24 | + border-bottom: 1px solid rgba(255, 255, 255, 0.08); | |
| 25 | +} | |
| 26 | + | |
| 27 | +[data-md-color-scheme="slate"] .md-tabs { | |
| 28 | + background-color: var(--conflict-black-2); | |
| 29 | +} | |
| 30 | + | |
| 31 | +/* Light scheme */ | |
| 32 | +[data-md-color-scheme="default"] { | |
| 33 | + --md-primary-fg-color: #fff; | |
| 34 | + --md-primary-bg-color: var(--conflict-black); | |
| 35 | + --md-accent-fg-color: var(--conflict-red); | |
| 36 | + --md-typeset-a-color: var(--conflict-red); | |
| 37 | +} | |
| 38 | + | |
| 39 | +[data-md-color-scheme="default"] .md-header { | |
| 40 | + background-color: #fff; | |
| 41 | + border-bottom: 1px solid var(--conflict-light); | |
| 42 | + color: var(--conflict-black); | |
| 43 | +} | |
| 44 | + | |
| 45 | +[data-md-color-scheme="default"] .md-header .md-header__topic, | |
| 46 | +[data-md-color-scheme="default"] .md-header .md-header__title, | |
| 47 | +[data-md-color-scheme="default"] .md-header .md-ellipsis { | |
| 48 | + color: var(--conflict-black); | |
| 49 | +} | |
| 50 | + | |
| 51 | +[data-md-color-scheme="default"] .md-tabs { | |
| 52 | + background-color: #fafafa; | |
| 53 | + border-bottom: 1px solid var(--conflict-light); | |
| 54 | +} | |
| 55 | + | |
| 56 | +[data-md-color-scheme="default"] .md-tabs__link { | |
| 57 | + color: var(--conflict-black-2); | |
| 58 | +} | |
| 59 | + | |
| 60 | +[data-md-color-scheme="default"] .md-tabs__link--active, | |
| 61 | +[data-md-color-scheme="default"] .md-tabs__link:hover { | |
| 62 | + color: var(--conflict-red); | |
| 63 | +} | |
| 64 | + | |
| 65 | +[data-md-color-scheme="default"] .md-search__input { | |
| 66 | + background-color: var(--conflict-light); | |
| 67 | +} | |
| 68 | + | |
| 69 | +/* Links */ | |
| 70 | +.md-typeset a:hover { | |
| 71 | + color: var(--conflict-pink); | |
| 72 | +} | |
| 73 | + | |
| 74 | +/* Nav active items */ | |
| 75 | +.md-nav__link--active, | |
| 76 | +.md-nav__link:hover { | |
| 77 | + color: var(--conflict-red) !important; | |
| 78 | +} | |
| 79 | + | |
| 80 | +/* Code blocks */ | |
| 81 | +[data-md-color-scheme="slate"] .md-typeset code { | |
| 82 | + background-color: rgba(255, 255, 255, 0.06); | |
| 83 | +} | |
| 84 | + | |
| 85 | +[data-md-color-scheme="slate"] .highlight pre { | |
| 86 | + background-color: #141414 !important; | |
| 87 | + border: 1px solid rgba(255, 255, 255, 0.06); | |
| 88 | + border-radius: 8px; | |
| 89 | +} | |
| 90 | + | |
| 91 | +[data-md-color-scheme="default"] .highlight pre { | |
| 92 | + border: 1px solid var(--conflict-light); | |
| 93 | + border-radius: 8px; | |
| 94 | +} | |
| 95 | + | |
| 96 | +/* Tables */ | |
| 97 | +.md-typeset table:not([class]) th { | |
| 98 | + background-color: var(--conflict-red); | |
| 99 | + color: #fff; | |
| 100 | +} | |
| 101 | + | |
| 102 | +[data-md-color-scheme="default"] .md-typeset table:not([class]) th { | |
| 103 | + background-color: var(--conflict-red); | |
| 104 | + color: #fff; | |
| 105 | +} | |
| 106 | + | |
| 107 | +/* Buttons / admonitions */ | |
| 108 | +.md-typeset .admonition, | |
| 109 | +.md-typeset details { | |
| 110 | + border-radius: 8px; | |
| 111 | +} | |
| 112 | + | |
| 113 | +/* Footer */ | |
| 114 | +.md-footer { | |
| 115 | + border-top: 1px solid rgba(255, 255, 255, 0.08); | |
| 116 | +} | |
| 117 | + | |
| 118 | +[data-md-color-scheme="slate"] .md-footer { | |
| 119 | + background-color: var(--conflict-black); | |
| 120 | +} | |
| 121 | + | |
| 122 | +/* Header logo sizing */ | |
| 123 | +.md-header__button.md-logo img, | |
| 124 | +.md-header__button.md-logo svg { | |
| 125 | + height: 1.4rem; | |
| 126 | + width: auto; | |
| 127 | +} | |
| 128 | + | |
| 129 | +/* Scrollbar styling for dark mode */ | |
| 130 | +[data-md-color-scheme="slate"] ::-webkit-scrollbar { | |
| 131 | + width: 8px; | |
| 132 | +} | |
| 133 | + | |
| 134 | +[data-md-color-scheme="slate"] ::-webkit-scrollbar-track { | |
| 135 | + background: var(--conflict-black); | |
| 136 | +} | |
| 137 | + | |
| 138 | +[data-md-color-scheme="slate"] ::-webkit-scrollbar-thumb { | |
| 139 | + background: var(--conflict-black-2); | |
| 140 | + border-radius: 4px; | |
| 141 | +} | |
| 142 | + | |
| 143 | +[data-md-color-scheme="slate"] ::-webkit-scrollbar-thumb:hover { | |
| 144 | + background: #3a3a3a; | |
| 145 | +} | |
| 146 | + | |
| 147 | +/* Content max width for readability */ | |
| 148 | +.md-grid { | |
| 149 | + max-width: 1220px; | |
| 150 | +} | |
| 151 | + | |
| 152 | +/* Hero-style heading on index */ | |
| 153 | +.md-typeset h1 { | |
| 154 | + font-weight: 700; | |
| 155 | + letter-spacing: -0.02em; | |
| 156 | +} |
| --- a/docs/assets/css/custom.css | |
| +++ b/docs/assets/css/custom.css | |
| @@ -0,0 +1,156 @@ | |
| --- a/docs/assets/css/custom.css | |
| +++ b/docs/assets/css/custom.css | |
| @@ -0,0 +1,156 @@ | |
| 1 | /* CONFLICT brand overrides for MkDocs Material */ |
| 2 | |
| 3 | :root { |
| 4 | --conflict-red: #DB394C; |
| 5 | --conflict-dark-red: #9C2633; |
| 6 | --conflict-pink: #FF1D5D; |
| 7 | --conflict-black: #1D1D1D; |
| 8 | --conflict-black-2: #282828; |
| 9 | --conflict-gray: #A8A8A7; |
| 10 | --conflict-light: #ECEFF5; |
| 11 | } |
| 12 | |
| 13 | /* Dark scheme (default) */ |
| 14 | [data-md-color-scheme="slate"] { |
| 15 | --md-primary-fg-color: var(--conflict-black); |
| 16 | --md-primary-bg-color: #fff; |
| 17 | --md-accent-fg-color: var(--conflict-red); |
| 18 | --md-default-bg-color: var(--conflict-black); |
| 19 | --md-typeset-a-color: var(--conflict-red); |
| 20 | } |
| 21 | |
| 22 | [data-md-color-scheme="slate"] .md-header { |
| 23 | background-color: var(--conflict-black); |
| 24 | border-bottom: 1px solid rgba(255, 255, 255, 0.08); |
| 25 | } |
| 26 | |
| 27 | [data-md-color-scheme="slate"] .md-tabs { |
| 28 | background-color: var(--conflict-black-2); |
| 29 | } |
| 30 | |
| 31 | /* Light scheme */ |
| 32 | [data-md-color-scheme="default"] { |
| 33 | --md-primary-fg-color: #fff; |
| 34 | --md-primary-bg-color: var(--conflict-black); |
| 35 | --md-accent-fg-color: var(--conflict-red); |
| 36 | --md-typeset-a-color: var(--conflict-red); |
| 37 | } |
| 38 | |
| 39 | [data-md-color-scheme="default"] .md-header { |
| 40 | background-color: #fff; |
| 41 | border-bottom: 1px solid var(--conflict-light); |
| 42 | color: var(--conflict-black); |
| 43 | } |
| 44 | |
| 45 | [data-md-color-scheme="default"] .md-header .md-header__topic, |
| 46 | [data-md-color-scheme="default"] .md-header .md-header__title, |
| 47 | [data-md-color-scheme="default"] .md-header .md-ellipsis { |
| 48 | color: var(--conflict-black); |
| 49 | } |
| 50 | |
| 51 | [data-md-color-scheme="default"] .md-tabs { |
| 52 | background-color: #fafafa; |
| 53 | border-bottom: 1px solid var(--conflict-light); |
| 54 | } |
| 55 | |
| 56 | [data-md-color-scheme="default"] .md-tabs__link { |
| 57 | color: var(--conflict-black-2); |
| 58 | } |
| 59 | |
| 60 | [data-md-color-scheme="default"] .md-tabs__link--active, |
| 61 | [data-md-color-scheme="default"] .md-tabs__link:hover { |
| 62 | color: var(--conflict-red); |
| 63 | } |
| 64 | |
| 65 | [data-md-color-scheme="default"] .md-search__input { |
| 66 | background-color: var(--conflict-light); |
| 67 | } |
| 68 | |
| 69 | /* Links */ |
| 70 | .md-typeset a:hover { |
| 71 | color: var(--conflict-pink); |
| 72 | } |
| 73 | |
| 74 | /* Nav active items */ |
| 75 | .md-nav__link--active, |
| 76 | .md-nav__link:hover { |
| 77 | color: var(--conflict-red) !important; |
| 78 | } |
| 79 | |
| 80 | /* Code blocks */ |
| 81 | [data-md-color-scheme="slate"] .md-typeset code { |
| 82 | background-color: rgba(255, 255, 255, 0.06); |
| 83 | } |
| 84 | |
| 85 | [data-md-color-scheme="slate"] .highlight pre { |
| 86 | background-color: #141414 !important; |
| 87 | border: 1px solid rgba(255, 255, 255, 0.06); |
| 88 | border-radius: 8px; |
| 89 | } |
| 90 | |
| 91 | [data-md-color-scheme="default"] .highlight pre { |
| 92 | border: 1px solid var(--conflict-light); |
| 93 | border-radius: 8px; |
| 94 | } |
| 95 | |
| 96 | /* Tables */ |
| 97 | .md-typeset table:not([class]) th { |
| 98 | background-color: var(--conflict-red); |
| 99 | color: #fff; |
| 100 | } |
| 101 | |
| 102 | [data-md-color-scheme="default"] .md-typeset table:not([class]) th { |
| 103 | background-color: var(--conflict-red); |
| 104 | color: #fff; |
| 105 | } |
| 106 | |
| 107 | /* Buttons / admonitions */ |
| 108 | .md-typeset .admonition, |
| 109 | .md-typeset details { |
| 110 | border-radius: 8px; |
| 111 | } |
| 112 | |
| 113 | /* Footer */ |
| 114 | .md-footer { |
| 115 | border-top: 1px solid rgba(255, 255, 255, 0.08); |
| 116 | } |
| 117 | |
| 118 | [data-md-color-scheme="slate"] .md-footer { |
| 119 | background-color: var(--conflict-black); |
| 120 | } |
| 121 | |
| 122 | /* Header logo sizing */ |
| 123 | .md-header__button.md-logo img, |
| 124 | .md-header__button.md-logo svg { |
| 125 | height: 1.4rem; |
| 126 | width: auto; |
| 127 | } |
| 128 | |
| 129 | /* Scrollbar styling for dark mode */ |
| 130 | [data-md-color-scheme="slate"] ::-webkit-scrollbar { |
| 131 | width: 8px; |
| 132 | } |
| 133 | |
| 134 | [data-md-color-scheme="slate"] ::-webkit-scrollbar-track { |
| 135 | background: var(--conflict-black); |
| 136 | } |
| 137 | |
| 138 | [data-md-color-scheme="slate"] ::-webkit-scrollbar-thumb { |
| 139 | background: var(--conflict-black-2); |
| 140 | border-radius: 4px; |
| 141 | } |
| 142 | |
| 143 | [data-md-color-scheme="slate"] ::-webkit-scrollbar-thumb:hover { |
| 144 | background: #3a3a3a; |
| 145 | } |
| 146 | |
| 147 | /* Content max width for readability */ |
| 148 | .md-grid { |
| 149 | max-width: 1220px; |
| 150 | } |
| 151 | |
| 152 | /* Hero-style heading on index */ |
| 153 | .md-typeset h1 { |
| 154 | font-weight: 700; |
| 155 | letter-spacing: -0.02em; |
| 156 | } |
| --- a/docs/assets/images/conflict-logo-black.svg | ||
| +++ b/docs/assets/images/conflict-logo-black.svg | ||
| @@ -0,0 +1,12 @@ | ||
| 1 | +<svg width="140" height="36" viewBox="0 0 140 36" fill="none" xmlns="http://www.w3.org/2000/svg"> | |
| 2 | +<path d="M6.7855 3.72976C4.95325 3.5678 3.13434 4.1772 1.71595 5.42806C1.14272 6.02274 0.693822 6.74054 0.399025 7.53429C0.104228 8.32803 -0.0298519 9.17959 0.00562531 10.0328V25.7089C-0.0303331 26.5699 0.10642 27.4293 0.406668 28.2291C0.706915 29.029 1.16373 29.7508 1.74643 30.3463C3.19341 31.5609 5.01199 32.1548 6.84664 32.0119C8.67781 32.1635 10.4933 31.5554 11.9163 30.3137C12.4895 29.719 12.9383 29.0011 13.2331 28.2074C13.5279 27.4137 13.662 26.5621 13.6265 25.7089V22.737H9.53418V25.7089C9.55225 26.0222 9.50704 26.3361 9.40164 26.6291C9.29625 26.9221 9.13312 27.1874 8.92334 27.4071C8.32468 27.8771 7.58641 28.0977 6.84664 28.0276C6.08654 28.1142 5.32368 27.8927 4.70881 27.4071C4.49565 27.1901 4.33027 26.9252 4.22463 26.6315C4.11899 26.3378 4.0758 26.0227 4.09806 25.7089V10.0328C4.07604 9.72186 4.11635 9.40956 4.21643 9.11668C4.3165 8.82379 4.47404 8.55711 4.67833 8.3346C5.28511 7.85685 6.03555 7.63584 6.7855 7.71408C7.54561 7.62753 8.30847 7.84895 8.92334 8.3346C9.13312 8.55424 9.29625 8.81956 9.40164 9.11259C9.50704 9.40562 9.55225 9.71944 9.53418 10.0328V14.5724H13.6265V10.0328C13.6602 9.17393 13.5193 8.31752 13.2135 7.52253C12.9077 6.72754 12.4442 6.01298 11.8552 5.42806C10.4321 4.18636 8.61667 3.57816 6.7855 3.72976Z" fill="#282828"/> | |
| 3 | +<path d="M54.2915 20.8757L47.4811 4.35059H43.7858V31.457H47.8781V14.8992L54.658 31.457H58.3839V4.35059H54.2915V20.8757Z" fill="#282828"/> | |
| 4 | +<path d="M63.2212 31.457H67.3135V19.7H73.3605V15.7157H67.3135V8.30225H74.8264V4.35059H63.2212V31.457Z" fill="#282828"/> | |
| 5 | +<path d="M83.7562 4.35059H79.6638V31.457H90.475V27.4727H83.7562V4.35059Z" fill="#282828"/> | |
| 6 | +<path d="M95.3127 8.30225H97.1451V27.4727H95.3127V31.457H103.07V27.4727H101.238V8.30225H103.07V4.35059H95.3127V8.30225Z" fill="#282828"/> | |
| 7 | +<path d="M114.664 3.7298C112.842 3.57303 111.034 4.18231 109.625 5.42809C109.047 6.01892 108.595 6.73614 108.3 7.53084C108.005 8.32553 107.874 9.17891 107.915 10.0328V25.7089C107.879 26.57 108.016 27.4293 108.316 28.2292C108.616 29.029 109.073 29.7509 109.656 30.3464C111.1 31.5667 112.921 32.1613 114.756 32.012C116.587 32.1636 118.403 31.5555 119.826 30.3138C120.399 29.7191 120.848 29.0012 121.142 28.2074C121.437 27.4137 121.571 26.5621 121.536 25.7089V22.737H117.444V25.7089C117.462 26.0223 117.416 26.3361 117.311 26.6291C117.206 26.9222 117.042 27.1875 116.833 27.4071C116.234 27.8771 115.496 28.0977 114.756 28.0276C113.996 28.1142 113.233 27.8928 112.618 27.4071C112.405 27.1902 112.24 26.9252 112.134 26.6315C112.028 26.3378 111.985 26.0227 112.007 25.7089V10.0328C111.985 9.7219 112.026 9.4096 112.126 9.11671C112.226 8.82382 112.383 8.55715 112.588 8.33464C113.186 7.86466 113.925 7.64406 114.664 7.71412C115.435 7.61912 116.21 7.84096 116.833 8.33464C117.042 8.55428 117.206 8.8196 117.311 9.11263C117.416 9.40565 117.462 9.71948 117.444 10.0328V14.5724H121.536V10.0328C121.57 9.17397 121.429 8.31755 121.123 7.52256C120.817 6.72757 120.354 6.01302 119.765 5.42809C118.332 4.18135 116.505 3.57303 114.664 3.7298Z" fill="#282828"/> | |
| 8 | +<path d="M126.379 4.35059V8.30225H131.143V31.457H135.236V8.30225H140V4.35059H126.379Z" fill="#282828"/> | |
| 9 | +<path d="M18.4236 36H25.9961V32.3203H22.0123V3.67966H26.0619V0H18.4236V36Z" fill="#DB394C"/> | |
| 10 | +<path d="M31.2968 0V3.67966H35.3136V32.3203H31.2639V36H38.9023V0H31.2968Z" fill="#DB394C"/> | |
| 11 | +<path d="M30.4737 10.3562H26.8521V25.3783H30.4737V10.3562Z" fill="#DB394C"/> | |
| 12 | +</svg> |
| --- a/docs/assets/images/conflict-logo-black.svg | |
| +++ b/docs/assets/images/conflict-logo-black.svg | |
| @@ -0,0 +1,12 @@ | |
| --- a/docs/assets/images/conflict-logo-black.svg | |
| +++ b/docs/assets/images/conflict-logo-black.svg | |
| @@ -0,0 +1,12 @@ | |
| 1 | <svg width="140" height="36" viewBox="0 0 140 36" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 2 | <path d="M6.7855 3.72976C4.95325 3.5678 3.13434 4.1772 1.71595 5.42806C1.14272 6.02274 0.693822 6.74054 0.399025 7.53429C0.104228 8.32803 -0.0298519 9.17959 0.00562531 10.0328V25.7089C-0.0303331 26.5699 0.10642 27.4293 0.406668 28.2291C0.706915 29.029 1.16373 29.7508 1.74643 30.3463C3.19341 31.5609 5.01199 32.1548 6.84664 32.0119C8.67781 32.1635 10.4933 31.5554 11.9163 30.3137C12.4895 29.719 12.9383 29.0011 13.2331 28.2074C13.5279 27.4137 13.662 26.5621 13.6265 25.7089V22.737H9.53418V25.7089C9.55225 26.0222 9.50704 26.3361 9.40164 26.6291C9.29625 26.9221 9.13312 27.1874 8.92334 27.4071C8.32468 27.8771 7.58641 28.0977 6.84664 28.0276C6.08654 28.1142 5.32368 27.8927 4.70881 27.4071C4.49565 27.1901 4.33027 26.9252 4.22463 26.6315C4.11899 26.3378 4.0758 26.0227 4.09806 25.7089V10.0328C4.07604 9.72186 4.11635 9.40956 4.21643 9.11668C4.3165 8.82379 4.47404 8.55711 4.67833 8.3346C5.28511 7.85685 6.03555 7.63584 6.7855 7.71408C7.54561 7.62753 8.30847 7.84895 8.92334 8.3346C9.13312 8.55424 9.29625 8.81956 9.40164 9.11259C9.50704 9.40562 9.55225 9.71944 9.53418 10.0328V14.5724H13.6265V10.0328C13.6602 9.17393 13.5193 8.31752 13.2135 7.52253C12.9077 6.72754 12.4442 6.01298 11.8552 5.42806C10.4321 4.18636 8.61667 3.57816 6.7855 3.72976Z" fill="#282828"/> |
| 3 | <path d="M54.2915 20.8757L47.4811 4.35059H43.7858V31.457H47.8781V14.8992L54.658 31.457H58.3839V4.35059H54.2915V20.8757Z" fill="#282828"/> |
| 4 | <path d="M63.2212 31.457H67.3135V19.7H73.3605V15.7157H67.3135V8.30225H74.8264V4.35059H63.2212V31.457Z" fill="#282828"/> |
| 5 | <path d="M83.7562 4.35059H79.6638V31.457H90.475V27.4727H83.7562V4.35059Z" fill="#282828"/> |
| 6 | <path d="M95.3127 8.30225H97.1451V27.4727H95.3127V31.457H103.07V27.4727H101.238V8.30225H103.07V4.35059H95.3127V8.30225Z" fill="#282828"/> |
| 7 | <path d="M114.664 3.7298C112.842 3.57303 111.034 4.18231 109.625 5.42809C109.047 6.01892 108.595 6.73614 108.3 7.53084C108.005 8.32553 107.874 9.17891 107.915 10.0328V25.7089C107.879 26.57 108.016 27.4293 108.316 28.2292C108.616 29.029 109.073 29.7509 109.656 30.3464C111.1 31.5667 112.921 32.1613 114.756 32.012C116.587 32.1636 118.403 31.5555 119.826 30.3138C120.399 29.7191 120.848 29.0012 121.142 28.2074C121.437 27.4137 121.571 26.5621 121.536 25.7089V22.737H117.444V25.7089C117.462 26.0223 117.416 26.3361 117.311 26.6291C117.206 26.9222 117.042 27.1875 116.833 27.4071C116.234 27.8771 115.496 28.0977 114.756 28.0276C113.996 28.1142 113.233 27.8928 112.618 27.4071C112.405 27.1902 112.24 26.9252 112.134 26.6315C112.028 26.3378 111.985 26.0227 112.007 25.7089V10.0328C111.985 9.7219 112.026 9.4096 112.126 9.11671C112.226 8.82382 112.383 8.55715 112.588 8.33464C113.186 7.86466 113.925 7.64406 114.664 7.71412C115.435 7.61912 116.21 7.84096 116.833 8.33464C117.042 8.55428 117.206 8.8196 117.311 9.11263C117.416 9.40565 117.462 9.71948 117.444 10.0328V14.5724H121.536V10.0328C121.57 9.17397 121.429 8.31755 121.123 7.52256C120.817 6.72757 120.354 6.01302 119.765 5.42809C118.332 4.18135 116.505 3.57303 114.664 3.7298Z" fill="#282828"/> |
| 8 | <path d="M126.379 4.35059V8.30225H131.143V31.457H135.236V8.30225H140V4.35059H126.379Z" fill="#282828"/> |
| 9 | <path d="M18.4236 36H25.9961V32.3203H22.0123V3.67966H26.0619V0H18.4236V36Z" fill="#DB394C"/> |
| 10 | <path d="M31.2968 0V3.67966H35.3136V32.3203H31.2639V36H38.9023V0H31.2968Z" fill="#DB394C"/> |
| 11 | <path d="M30.4737 10.3562H26.8521V25.3783H30.4737V10.3562Z" fill="#DB394C"/> |
| 12 | </svg> |
| --- a/docs/assets/images/conflict-logo.svg | ||
| +++ b/docs/assets/images/conflict-logo.svg | ||
| @@ -0,0 +1,12 @@ | ||
| 1 | +<svg width="141" height="37" viewBox="0 0 141 37" fill="none" xmlns="http://www.w3.org/2000/svg"> | |
| 2 | +<path d="M7.76011 3.9038C5.92786 3.74184 4.10895 4.35124 2.69056 5.6021C2.11733 6.19678 1.66843 6.91459 1.37363 7.70833C1.07884 8.50207 0.944757 9.35363 0.980235 10.2068V25.8829C0.944276 26.744 1.08103 27.6033 1.38128 28.4032C1.68152 29.203 2.13834 29.9249 2.72104 30.5204C4.16802 31.7349 5.9866 32.3289 7.82125 32.186C9.65242 32.3376 11.4679 31.7295 12.8909 30.4878C13.4641 29.8931 13.9129 29.1752 14.2077 28.3814C14.5025 27.5877 14.6366 26.7361 14.6011 25.8829V22.911H10.5088V25.8829C10.5269 26.1963 10.4816 26.5101 10.3763 26.8031C10.2709 27.0962 10.1077 27.3615 9.89795 27.5811C9.29929 28.0511 8.56102 28.2717 7.82125 28.2016C7.06115 28.2882 6.29829 28.0668 5.68342 27.5811C5.47026 27.3642 5.30488 27.0992 5.19924 26.8055C5.0936 26.5118 5.05041 26.1967 5.07267 25.8829V10.2068C5.05065 9.89591 5.09096 9.58361 5.19104 9.29072C5.29111 8.99783 5.44865 8.73115 5.65294 8.50864C6.25972 8.0309 7.01016 7.80989 7.76011 7.88813C8.52022 7.80157 9.28308 8.023 9.89795 8.50864C10.1077 8.72828 10.2709 8.99361 10.3763 9.28663C10.4816 9.57966 10.5269 9.89349 10.5088 10.2068V14.7464H14.6011V10.2068C14.6348 9.34798 14.4939 8.49156 14.1881 7.69657C13.8823 6.90158 13.4188 6.18702 12.8298 5.6021C11.4067 4.3604 9.59128 3.7522 7.76011 3.9038Z" fill="white"/> | |
| 3 | +<path d="M55.2655 21.0496L48.4551 4.52451H44.7598V31.631H48.8521V15.0732L55.632 31.631H59.3579V4.52451H55.2655V21.0496Z" fill="white"/> | |
| 4 | +<path d="M64.1953 31.631H68.2877V19.8739H74.3346V15.8896H68.2877V8.47617H75.8005V4.52451H64.1953V31.631Z" fill="white"/> | |
| 5 | +<path d="M84.731 4.52451H80.6387V31.631H91.4498V27.6466H84.731V4.52451Z" fill="white"/> | |
| 6 | +<path d="M96.2871 8.47617H98.1195V27.6466H96.2871V31.631H104.044V27.6466H102.212V8.47617H104.044V4.52451H96.2871V8.47617Z" fill="white"/> | |
| 7 | +<path d="M115.64 3.90374C113.817 3.74697 112.01 4.35626 110.601 5.60204C110.022 6.19287 109.57 6.91008 109.275 7.70478C108.98 8.49948 108.849 9.35285 108.89 10.2068V25.8829C108.854 26.7439 108.991 27.6032 109.291 28.4031C109.592 29.203 110.048 29.9248 110.631 30.5203C112.075 31.7406 113.896 32.3352 115.731 32.1859C117.562 32.3375 119.378 31.7294 120.801 30.4877C121.374 29.893 121.823 29.1751 122.118 28.3814C122.412 27.5876 122.547 26.7361 122.511 25.8829V22.9109H118.419V25.8829C118.437 26.1962 118.392 26.51 118.286 26.8031C118.181 27.0961 118.018 27.3614 117.808 27.5811C117.209 28.051 116.471 28.2716 115.731 28.2016C114.971 28.2881 114.208 28.0667 113.593 27.5811C113.38 27.3641 113.215 27.0992 113.109 26.8055C113.004 26.5118 112.96 26.1966 112.983 25.8829V10.2068C112.961 9.89584 113.001 9.58355 113.101 9.29066C113.201 8.99777 113.359 8.73109 113.563 8.50858C114.162 8.0386 114.9 7.818 115.64 7.88806C116.41 7.79306 117.185 8.01491 117.808 8.50858C118.018 8.72822 118.181 8.99354 118.286 9.28657C118.392 9.5796 118.437 9.89342 118.419 10.2068V14.7463H122.511V10.2068C122.545 9.34791 122.404 8.4915 122.098 7.69651C121.792 6.90152 121.329 6.18696 120.74 5.60204C119.307 4.35529 117.481 3.74697 115.64 3.90374Z" fill="white"/> | |
| 8 | +<path d="M127.354 4.52451V8.47617H132.118V31.631H136.21V8.47617H140.974V4.52451H127.354Z" fill="white"/> | |
| 9 | +<path d="M19.3984 36.1741H26.9709V32.4944H22.9871V3.85375H27.0368V0.174088H19.3984V36.1741Z" fill="#DB394C"/> | |
| 10 | +<path d="M32.2717 0.174088V3.85375H36.2884V32.4944H32.2388V36.1741H39.8771V0.174088H32.2717Z" fill="#DB394C"/> | |
| 11 | +<path d="M31.4486 10.5303H27.827V25.5524H31.4486V10.5303Z" fill="#DB394C"/> | |
| 12 | +</svg> |
| --- a/docs/assets/images/conflict-logo.svg | |
| +++ b/docs/assets/images/conflict-logo.svg | |
| @@ -0,0 +1,12 @@ | |
| --- a/docs/assets/images/conflict-logo.svg | |
| +++ b/docs/assets/images/conflict-logo.svg | |
| @@ -0,0 +1,12 @@ | |
| 1 | <svg width="141" height="37" viewBox="0 0 141 37" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 2 | <path d="M7.76011 3.9038C5.92786 3.74184 4.10895 4.35124 2.69056 5.6021C2.11733 6.19678 1.66843 6.91459 1.37363 7.70833C1.07884 8.50207 0.944757 9.35363 0.980235 10.2068V25.8829C0.944276 26.744 1.08103 27.6033 1.38128 28.4032C1.68152 29.203 2.13834 29.9249 2.72104 30.5204C4.16802 31.7349 5.9866 32.3289 7.82125 32.186C9.65242 32.3376 11.4679 31.7295 12.8909 30.4878C13.4641 29.8931 13.9129 29.1752 14.2077 28.3814C14.5025 27.5877 14.6366 26.7361 14.6011 25.8829V22.911H10.5088V25.8829C10.5269 26.1963 10.4816 26.5101 10.3763 26.8031C10.2709 27.0962 10.1077 27.3615 9.89795 27.5811C9.29929 28.0511 8.56102 28.2717 7.82125 28.2016C7.06115 28.2882 6.29829 28.0668 5.68342 27.5811C5.47026 27.3642 5.30488 27.0992 5.19924 26.8055C5.0936 26.5118 5.05041 26.1967 5.07267 25.8829V10.2068C5.05065 9.89591 5.09096 9.58361 5.19104 9.29072C5.29111 8.99783 5.44865 8.73115 5.65294 8.50864C6.25972 8.0309 7.01016 7.80989 7.76011 7.88813C8.52022 7.80157 9.28308 8.023 9.89795 8.50864C10.1077 8.72828 10.2709 8.99361 10.3763 9.28663C10.4816 9.57966 10.5269 9.89349 10.5088 10.2068V14.7464H14.6011V10.2068C14.6348 9.34798 14.4939 8.49156 14.1881 7.69657C13.8823 6.90158 13.4188 6.18702 12.8298 5.6021C11.4067 4.3604 9.59128 3.7522 7.76011 3.9038Z" fill="white"/> |
| 3 | <path d="M55.2655 21.0496L48.4551 4.52451H44.7598V31.631H48.8521V15.0732L55.632 31.631H59.3579V4.52451H55.2655V21.0496Z" fill="white"/> |
| 4 | <path d="M64.1953 31.631H68.2877V19.8739H74.3346V15.8896H68.2877V8.47617H75.8005V4.52451H64.1953V31.631Z" fill="white"/> |
| 5 | <path d="M84.731 4.52451H80.6387V31.631H91.4498V27.6466H84.731V4.52451Z" fill="white"/> |
| 6 | <path d="M96.2871 8.47617H98.1195V27.6466H96.2871V31.631H104.044V27.6466H102.212V8.47617H104.044V4.52451H96.2871V8.47617Z" fill="white"/> |
| 7 | <path d="M115.64 3.90374C113.817 3.74697 112.01 4.35626 110.601 5.60204C110.022 6.19287 109.57 6.91008 109.275 7.70478C108.98 8.49948 108.849 9.35285 108.89 10.2068V25.8829C108.854 26.7439 108.991 27.6032 109.291 28.4031C109.592 29.203 110.048 29.9248 110.631 30.5203C112.075 31.7406 113.896 32.3352 115.731 32.1859C117.562 32.3375 119.378 31.7294 120.801 30.4877C121.374 29.893 121.823 29.1751 122.118 28.3814C122.412 27.5876 122.547 26.7361 122.511 25.8829V22.9109H118.419V25.8829C118.437 26.1962 118.392 26.51 118.286 26.8031C118.181 27.0961 118.018 27.3614 117.808 27.5811C117.209 28.051 116.471 28.2716 115.731 28.2016C114.971 28.2881 114.208 28.0667 113.593 27.5811C113.38 27.3641 113.215 27.0992 113.109 26.8055C113.004 26.5118 112.96 26.1966 112.983 25.8829V10.2068C112.961 9.89584 113.001 9.58355 113.101 9.29066C113.201 8.99777 113.359 8.73109 113.563 8.50858C114.162 8.0386 114.9 7.818 115.64 7.88806C116.41 7.79306 117.185 8.01491 117.808 8.50858C118.018 8.72822 118.181 8.99354 118.286 9.28657C118.392 9.5796 118.437 9.89342 118.419 10.2068V14.7463H122.511V10.2068C122.545 9.34791 122.404 8.4915 122.098 7.69651C121.792 6.90152 121.329 6.18696 120.74 5.60204C119.307 4.35529 117.481 3.74697 115.64 3.90374Z" fill="white"/> |
| 8 | <path d="M127.354 4.52451V8.47617H132.118V31.631H136.21V8.47617H140.974V4.52451H127.354Z" fill="white"/> |
| 9 | <path d="M19.3984 36.1741H26.9709V32.4944H22.9871V3.85375H27.0368V0.174088H19.3984V36.1741Z" fill="#DB394C"/> |
| 10 | <path d="M32.2717 0.174088V3.85375H36.2884V32.4944H32.2388V36.1741H39.8771V0.174088H32.2717Z" fill="#DB394C"/> |
| 11 | <path d="M31.4486 10.5303H27.827V25.5524H31.4486V10.5303Z" fill="#DB394C"/> |
| 12 | </svg> |
Binary file
+6
| --- a/docs/contributing.md | ||
| +++ b/docs/contributing.md | ||
| @@ -0,0 +1,6 @@ | ||
| 1 | +--- | |
| 2 | +# contriuuting | |
| 3 | + | |
| 4 | +!!! note | |
| 5 | + This page is a work in progress. | |
| 6 | + |
| --- a/docs/contributing.md | |
| +++ b/docs/contributing.md | |
| @@ -0,0 +1,6 @@ | |
| --- a/docs/contributing.md | |
| +++ b/docs/contributing.md | |
| @@ -0,0 +1,6 @@ | |
| 1 | --- |
| 2 | # contriuuting |
| 3 | |
| 4 | !!! note |
| 5 | This page is a work in progress. |
| 6 |
| --- a/docs/getting-started/configuration.md | ||
| +++ b/docs/getting-started/configuration.md | ||
| @@ -0,0 +1,6 @@ | ||
| 1 | +--- | |
| 2 | +# configuration | |
| 3 | + | |
| 4 | +!!! note | |
| 5 | + This page is a work in progress. | |
| 6 | + |
| --- a/docs/getting-started/configuration.md | |
| +++ b/docs/getting-started/configuration.md | |
| @@ -0,0 +1,6 @@ | |
| --- a/docs/getting-started/configuration.md | |
| +++ b/docs/getting-started/configuration.md | |
| @@ -0,0 +1,6 @@ | |
| 1 | --- |
| 2 | # configuration |
| 3 | |
| 4 | !!! note |
| 5 | This page is a work in progress. |
| 6 |
| --- a/docs/getting-started/installation.md | ||
| +++ b/docs/getting-started/installation.md | ||
| @@ -0,0 +1,6 @@ | ||
| 1 | +--- | |
| 2 | +# installation | |
| 3 | + | |
| 4 | +!!! note | |
| 5 | + This page is a work in progress. | |
| 6 | + |
| --- a/docs/getting-started/installation.md | |
| +++ b/docs/getting-started/installation.md | |
| @@ -0,0 +1,6 @@ | |
| --- a/docs/getting-started/installation.md | |
| +++ b/docs/getting-started/installation.md | |
| @@ -0,0 +1,6 @@ | |
| 1 | --- |
| 2 | # installation |
| 3 | |
| 4 | !!! note |
| 5 | This page is a work in progress. |
| 6 |
| --- a/docs/getting-started/quickstart.md | ||
| +++ b/docs/getting-started/quickstart.md | ||
| @@ -0,0 +1,6 @@ | ||
| 1 | +--- | |
| 2 | +# quickstart | |
| 3 | + | |
| 4 | +!!! note | |
| 5 | + This page is a work in progress. | |
| 6 | + |
| --- a/docs/getting-started/quickstart.md | |
| +++ b/docs/getting-started/quickstart.md | |
| @@ -0,0 +1,6 @@ | |
| --- a/docs/getting-started/quickstart.md | |
| +++ b/docs/getting-started/quickstart.md | |
| @@ -0,0 +1,6 @@ | |
| 1 | --- |
| 2 | # quickstart |
| 3 | |
| 4 | !!! note |
| 5 | This page is a work in progress. |
| 6 |
| --- a/docs/guide/agent-registration.md | ||
| +++ b/docs/guide/agent-registration.md | ||
| @@ -0,0 +1,6 @@ | ||
| 1 | +--- | |
| 2 | +# agent registration | |
| 3 | + | |
| 4 | +!!! note | |
| 5 | + This page is a work in progress. | |
| 6 | + |
| --- a/docs/guide/agent-registration.md | |
| +++ b/docs/guide/agent-registration.md | |
| @@ -0,0 +1,6 @@ | |
| --- a/docs/guide/agent-registration.md | |
| +++ b/docs/guide/agent-registration.md | |
| @@ -0,0 +1,6 @@ | |
| 1 | --- |
| 2 | # agent registration |
| 3 | |
| 4 | !!! note |
| 5 | This page is a work in progress. |
| 6 |
+6
| --- a/docs/guide/bots.md | ||
| +++ b/docs/guide/bots.md | ||
| @@ -0,0 +1,6 @@ | ||
| 1 | +--- | |
| 2 | +# uots | |
| 3 | + | |
| 4 | +!!! note | |
| 5 | + This page is a work in progress. | |
| 6 | + |
| --- a/docs/guide/bots.md | |
| +++ b/docs/guide/bots.md | |
| @@ -0,0 +1,6 @@ | |
| --- a/docs/guide/bots.md | |
| +++ b/docs/guide/bots.md | |
| @@ -0,0 +1,6 @@ | |
| 1 | --- |
| 2 | # uots |
| 3 | |
| 4 | !!! note |
| 5 | This page is a work in progress. |
| 6 |
| --- a/docs/guide/deployment.md | ||
| +++ b/docs/guide/deployment.md | ||
| @@ -0,0 +1,6 @@ | ||
| 1 | +--- | |
| 2 | +# deployment | |
| 3 | + | |
| 4 | +!!! note | |
| 5 | + This page is a work in progress. | |
| 6 | + |
| --- a/docs/guide/deployment.md | |
| +++ b/docs/guide/deployment.md | |
| @@ -0,0 +1,6 @@ | |
| --- a/docs/guide/deployment.md | |
| +++ b/docs/guide/deployment.md | |
| @@ -0,0 +1,6 @@ | |
| 1 | --- |
| 2 | # deployment |
| 3 | |
| 4 | !!! note |
| 5 | This page is a work in progress. |
| 6 |
| --- a/docs/guide/discovery.md | ||
| +++ b/docs/guide/discovery.md | ||
| @@ -0,0 +1,6 @@ | ||
| 1 | +--- | |
| 2 | +# discovery | |
| 3 | + | |
| 4 | +!!! note | |
| 5 | + This page is a work in progress. | |
| 6 | + |
| --- a/docs/guide/discovery.md | |
| +++ b/docs/guide/discovery.md | |
| @@ -0,0 +1,6 @@ | |
| --- a/docs/guide/discovery.md | |
| +++ b/docs/guide/discovery.md | |
| @@ -0,0 +1,6 @@ | |
| 1 | --- |
| 2 | # discovery |
| 3 | |
| 4 | !!! note |
| 5 | This page is a work in progress. |
| 6 |
| --- a/docs/guide/topology.md | ||
| +++ b/docs/guide/topology.md | ||
| @@ -0,0 +1,6 @@ | ||
| 1 | +--- | |
| 2 | +# topology | |
| 3 | + | |
| 4 | +!!! note | |
| 5 | + This page is a work in progress. | |
| 6 | + |
| --- a/docs/guide/topology.md | |
| +++ b/docs/guide/topology.md | |
| @@ -0,0 +1,6 @@ | |
| --- a/docs/guide/topology.md | |
| +++ b/docs/guide/topology.md | |
| @@ -0,0 +1,6 @@ | |
| 1 | --- |
| 2 | # topology |
| 3 | |
| 4 | !!! note |
| 5 | This page is a work in progress. |
| 6 |
+121
| --- a/docs/index.md | ||
| +++ b/docs/index.md | ||
| @@ -0,0 +1,121 @@ | ||
| 1 | +# scuttlebot | |
| 2 | + | |
| 3 | +**Agent coordination backplane built on IRC.** | |
| 4 | + | |
| 5 | +Agents connect as IRC users. Channels are task queues, teams, and pipeline stages. Topics are shared state. Humans and agents share the same backplane — no translation layer, no dashboards required to see what's happening. | |
| 6 | + | |
| 7 | +--- | |
| 8 | + | |
| 9 | +## Why IRC? | |
| 10 | + | |
| 11 | +IRC is a coordination protocol. NATS and RabbitMQ are message brokers. The difference matters. | |
| 12 | + | |
| 13 | +IRC already has what agent coordination needs: channels, topics, presence, ops hierarchy, DMs, and bots — natively. Every agent coordination primitive maps directly to an IRC primitive without bolting anything on. | |
| 14 | + | |
| 15 | +**Human observable by default.** Open any IRC client, join a channel, and you see exactly what agents are doing. No dashboards. No special tooling. No translation layer. | |
| 16 | + | |
| 17 | +[Full rationale →](architecture/why-irc.md) | |
| 18 | + | |
| 19 | +--- | |
| 20 | + | |
| 21 | +## Quick Start | |
| 22 | + | |
| 23 | +```bash | |
| 24 | +# Install | |
| 25 | +curl -fsSL https://scuttlebot.dev/install.sh | bash | |
| 26 | + | |
| 27 | +# Or via npm | |
| 28 | +npm install -g @conflicthq/scuttlectl | |
| 29 | +``` | |
| 30 | + | |
| 31 | +```bash | |
| 32 | +# Start scuttlebot (boots Ergo + daemon) | |
| 33 | +scuttlebot start | |
| 34 | + | |
| 35 | +# Register an agent | |
| 36 | +scuttlectl agent register --name claude-01 --type orchestrator | |
| 37 | + | |
| 38 | +# Watch the fleet | |
| 39 | +scuttlectl channels list | |
| 40 | +``` | |
| 41 | + | |
| 42 | +[Full installation guide →](getting-started/installation.md) | |
| 43 | + | |
| 44 | +--- | |
| 45 | + | |
| 46 | +## How it works | |
| 47 | + | |
| 48 | +``` | |
| 49 | +┌─────────────────────────────────────────────┐ | |
| 50 | +│ scuttlebot daemon │ | |
| 51 | +│ ┌────────┐ ┌──────────┐ ┌─────────────┐ │ | |
| 52 | +│ │ ergo │ │ registry │ │ topology │ │ | |
| 53 | +│ │(managed│ │ (agents/ │ │ (channels/ │ │ | |
| 54 | +│ │ IRC) │ │ creds) │ │ topics) │ │ | |
| 55 | +│ └────────┘ └──────────┘ └─────────────┘ │ | |
| 56 | +│ ┌────────┐ ┌──────────┐ ┌─────────────┐ │ | |
| 57 | +│ │ bots │ │ MCP │ │ SDK │ │ | |
| 58 | +│ │(scribe │ │ server │ │ (Go/multi) │ │ | |
| 59 | +│ │ et al) │ │ │ │ │ │ | |
| 60 | +│ └────────┘ └──────────┘ └─────────────┘ │ | |
| 61 | +└─────────────────────────────────────────────┘ | |
| 62 | +``` | |
| 63 | + | |
| 64 | +1. **Register** — agents receive SASL credentials and a signed rules-of-engagement payload | |
| 65 | +2. **Connect** — agents connect to the IRC server; topology is provisioned automatically | |
| 66 | +3. **Coordinate** — agents send structured messages in channels; humans can join and observe at any time | |
| 67 | +4. **Discover** — standard IRC commands (`LIST`, `NAMES`, `TOPIC`, `WHOIS`) for topology and presence | |
| 68 | + | |
| 69 | +--- | |
| 70 | + | |
| 71 | +## Agent integrations | |
| 72 | + | |
| 73 | +scuttlebot connects to any agent via: | |
| 74 | + | |
| 75 | +- **MCP server** — plug-in for Claude, Gemini, and any MCP-compatible agent | |
| 76 | +- **Go SDK** — native integration for Go agents | |
| 77 | +- **Python, Ruby, Rust SDKs** — coming soon | |
| 78 | +- **REST API** — for anything else | |
| 79 | + | |
| 80 | +--- | |
| 81 | + | |
| 82 | +## Built-in bots | |
| 83 | + | |
| 84 | +| Bot | What it does | | |
| 85 | +|-----|-------------| | |
| 86 | +| `scribe` | Structured logging | | |
| 87 | +| `scroll` | History replay to PM on request | | |
| 88 | +| `herald` | Alerts and notifications | | |
| 89 | +| `oracle` | Channel summarization (TOON/JSON output for LLMs) | | |
| 90 | +| `warden` | Moderation and rate limiting | | |
| 91 | + | |
| 92 | +--- | |
| 93 | + | |
| 94 | +## Deployment | |
| 95 | + | |
| 96 | +=== "Standalone" | |
| 97 | + | |
| 98 | + ```bash | |
| 99 | + scuttlebot start | |
| 100 | + ``` | |
| 101 | + Single binary, SQLite, no Docker required. | |
| 102 | + | |
| 103 | +=== "Docker Compose" | |
| 104 | + | |
| 105 | + ```bash | |
| 106 | + docker compose up | |
| 107 | + ``` | |
| 108 | + Ergo + scuttlebot + Postgres, single host. | |
| 109 | + | |
| 110 | +=== "Kubernetes" | |
| 111 | + | |
| 112 | + ```bash | |
| 113 | + kubectl apply -f deploy/k8s/ | |
| 114 | + ``` | |
| 115 | + Ergo pod with PVC, scuttlebot deployment, external Postgres. | |
| 116 | + | |
| 117 | +--- | |
| 118 | + | |
| 119 | +## License | |
| 120 | + | |
| 121 | +MIT — [CONFLICT LLC](https://conflict.llc) |
| --- a/docs/index.md | |
| +++ b/docs/index.md | |
| @@ -0,0 +1,121 @@ | |
| --- a/docs/index.md | |
| +++ b/docs/index.md | |
| @@ -0,0 +1,121 @@ | |
| 1 | # scuttlebot |
| 2 | |
| 3 | **Agent coordination backplane built on IRC.** |
| 4 | |
| 5 | Agents connect as IRC users. Channels are task queues, teams, and pipeline stages. Topics are shared state. Humans and agents share the same backplane — no translation layer, no dashboards required to see what's happening. |
| 6 | |
| 7 | --- |
| 8 | |
| 9 | ## Why IRC? |
| 10 | |
| 11 | IRC is a coordination protocol. NATS and RabbitMQ are message brokers. The difference matters. |
| 12 | |
| 13 | IRC already has what agent coordination needs: channels, topics, presence, ops hierarchy, DMs, and bots — natively. Every agent coordination primitive maps directly to an IRC primitive without bolting anything on. |
| 14 | |
| 15 | **Human observable by default.** Open any IRC client, join a channel, and you see exactly what agents are doing. No dashboards. No special tooling. No translation layer. |
| 16 | |
| 17 | [Full rationale →](architecture/why-irc.md) |
| 18 | |
| 19 | --- |
| 20 | |
| 21 | ## Quick Start |
| 22 | |
| 23 | ```bash |
| 24 | # Install |
| 25 | curl -fsSL https://scuttlebot.dev/install.sh | bash |
| 26 | |
| 27 | # Or via npm |
| 28 | npm install -g @conflicthq/scuttlectl |
| 29 | ``` |
| 30 | |
| 31 | ```bash |
| 32 | # Start scuttlebot (boots Ergo + daemon) |
| 33 | scuttlebot start |
| 34 | |
| 35 | # Register an agent |
| 36 | scuttlectl agent register --name claude-01 --type orchestrator |
| 37 | |
| 38 | # Watch the fleet |
| 39 | scuttlectl channels list |
| 40 | ``` |
| 41 | |
| 42 | [Full installation guide →](getting-started/installation.md) |
| 43 | |
| 44 | --- |
| 45 | |
| 46 | ## How it works |
| 47 | |
| 48 | ``` |
| 49 | ┌─────────────────────────────────────────────┐ |
| 50 | │ scuttlebot daemon │ |
| 51 | │ ┌────────┐ ┌──────────┐ ┌─────────────┐ │ |
| 52 | │ │ ergo │ │ registry │ │ topology │ │ |
| 53 | │ │(managed│ │ (agents/ │ │ (channels/ │ │ |
| 54 | │ │ IRC) │ │ creds) │ │ topics) │ │ |
| 55 | │ └────────┘ └──────────┘ └─────────────┘ │ |
| 56 | │ ┌────────┐ ┌──────────┐ ┌─────────────┐ │ |
| 57 | │ │ bots │ │ MCP │ │ SDK │ │ |
| 58 | │ │(scribe │ │ server │ │ (Go/multi) │ │ |
| 59 | │ │ et al) │ │ │ │ │ │ |
| 60 | │ └────────┘ └──────────┘ └─────────────┘ │ |
| 61 | └─────────────────────────────────────────────┘ |
| 62 | ``` |
| 63 | |
| 64 | 1. **Register** — agents receive SASL credentials and a signed rules-of-engagement payload |
| 65 | 2. **Connect** — agents connect to the IRC server; topology is provisioned automatically |
| 66 | 3. **Coordinate** — agents send structured messages in channels; humans can join and observe at any time |
| 67 | 4. **Discover** — standard IRC commands (`LIST`, `NAMES`, `TOPIC`, `WHOIS`) for topology and presence |
| 68 | |
| 69 | --- |
| 70 | |
| 71 | ## Agent integrations |
| 72 | |
| 73 | scuttlebot connects to any agent via: |
| 74 | |
| 75 | - **MCP server** — plug-in for Claude, Gemini, and any MCP-compatible agent |
| 76 | - **Go SDK** — native integration for Go agents |
| 77 | - **Python, Ruby, Rust SDKs** — coming soon |
| 78 | - **REST API** — for anything else |
| 79 | |
| 80 | --- |
| 81 | |
| 82 | ## Built-in bots |
| 83 | |
| 84 | | Bot | What it does | |
| 85 | |-----|-------------| |
| 86 | | `scribe` | Structured logging | |
| 87 | | `scroll` | History replay to PM on request | |
| 88 | | `herald` | Alerts and notifications | |
| 89 | | `oracle` | Channel summarization (TOON/JSON output for LLMs) | |
| 90 | | `warden` | Moderation and rate limiting | |
| 91 | |
| 92 | --- |
| 93 | |
| 94 | ## Deployment |
| 95 | |
| 96 | === "Standalone" |
| 97 | |
| 98 | ```bash |
| 99 | scuttlebot start |
| 100 | ``` |
| 101 | Single binary, SQLite, no Docker required. |
| 102 | |
| 103 | === "Docker Compose" |
| 104 | |
| 105 | ```bash |
| 106 | docker compose up |
| 107 | ``` |
| 108 | Ergo + scuttlebot + Postgres, single host. |
| 109 | |
| 110 | === "Kubernetes" |
| 111 | |
| 112 | ```bash |
| 113 | kubectl apply -f deploy/k8s/ |
| 114 | ``` |
| 115 | Ergo pod with PVC, scuttlebot deployment, external Postgres. |
| 116 | |
| 117 | --- |
| 118 | |
| 119 | ## License |
| 120 | |
| 121 | MIT — [CONFLICT LLC](https://conflict.llc) |
| --- a/docs/reference/cli.md | ||
| +++ b/docs/reference/cli.md | ||
| @@ -0,0 +1,6 @@ | ||
| 1 | +--- | |
| 2 | +# cli | |
| 3 | + | |
| 4 | +!!! note | |
| 5 | + This page is a work in progress. | |
| 6 | + |
| --- a/docs/reference/cli.md | |
| +++ b/docs/reference/cli.md | |
| @@ -0,0 +1,6 @@ | |
| --- a/docs/reference/cli.md | |
| +++ b/docs/reference/cli.md | |
| @@ -0,0 +1,6 @@ | |
| 1 | --- |
| 2 | # cli |
| 3 | |
| 4 | !!! note |
| 5 | This page is a work in progress. |
| 6 |
| --- a/docs/reference/config.md | ||
| +++ b/docs/reference/config.md | ||
| @@ -0,0 +1,6 @@ | ||
| 1 | +--- | |
| 2 | +# config | |
| 3 | + | |
| 4 | +!!! note | |
| 5 | + This page is a work in progress. | |
| 6 | + |
| --- a/docs/reference/config.md | |
| +++ b/docs/reference/config.md | |
| @@ -0,0 +1,6 @@ | |
| --- a/docs/reference/config.md | |
| +++ b/docs/reference/config.md | |
| @@ -0,0 +1,6 @@ | |
| 1 | --- |
| 2 | # config |
| 3 | |
| 4 | !!! note |
| 5 | This page is a work in progress. |
| 6 |
| --- a/docs/reference/mcp.md | ||
| +++ b/docs/reference/mcp.md | ||
| @@ -0,0 +1,6 @@ | ||
| 1 | +--- | |
| 2 | +# mcp | |
| 3 | + | |
| 4 | +!!! note | |
| 5 | + This page is a work in progress. | |
| 6 | + |
| --- a/docs/reference/mcp.md | |
| +++ b/docs/reference/mcp.md | |
| @@ -0,0 +1,6 @@ | |
| --- a/docs/reference/mcp.md | |
| +++ b/docs/reference/mcp.md | |
| @@ -0,0 +1,6 @@ | |
| 1 | --- |
| 2 | # mcp |
| 3 | |
| 4 | !!! note |
| 5 | This page is a work in progress. |
| 6 |
| --- a/docs/reference/message-types.md | ||
| +++ b/docs/reference/message-types.md | ||
| @@ -0,0 +1,6 @@ | ||
| 1 | +--- | |
| 2 | +# message types | |
| 3 | + | |
| 4 | +!!! note | |
| 5 | + This page is a work in progress. | |
| 6 | + |
| --- a/docs/reference/message-types.md | |
| +++ b/docs/reference/message-types.md | |
| @@ -0,0 +1,6 @@ | |
| --- a/docs/reference/message-types.md | |
| +++ b/docs/reference/message-types.md | |
| @@ -0,0 +1,6 @@ | |
| 1 | --- |
| 2 | # message types |
| 3 | |
| 4 | !!! note |
| 5 | This page is a work in progress. |
| 6 |
+33
| --- a/mkdocs.yml | ||
| +++ b/mkdocs.yml | ||
| @@ -0,0 +1,33 @@ | ||
| 1 | +site_name: scuttlebot | |
| 2 | +site_url: https://scuttlebot.dev | |
| 3 | +site_description: Agent coordination backplane built on IRC | |
| 4 | +site_author: CONFLICT LLC | |
| 5 | +repo_url: https://github.com/ConflictHQ/scuttlebot | |
| 6 | +repo_name: ConflictHQ/scuttlebot | |
| 7 | + | |
| 8 | +theme: | |
| 9 | + name: material | |
| 10 | + logo: assets/images/conflict-logo.svg | |
| 11 | + favicon: assets/images/favicon.png | |
| 12 | + font: | |
| 13 | + text: Roboto | |
| 14 | + code: Roboto Mono | |
| 15 | + palette: | |
| 16 | + - media: "(prefers-color-scheme: dark)" | |
| 17 | + scheme: slate | |
| 18 | + primary: custom | |
| 19 | + accent: custom | |
| 20 | + toggle: | |
| 21 | + icon: material/brightness-4 | |
| 22 | + name: Switch to light mode | |
| 23 | + - media: "(prefers-color-scheme: light)" | |
| 24 | + scheme: default | |
| 25 | + primary: custom | |
| 26 | + ent: custom | |
| 27 | + toggle: | |
| 28 | + icon: material/brightness-7 | |
| 29 | + name: Switch to dark mode | |
| 30 | + features: | |
| 31 | + - navigation.instant | |
| 32 | + - navigation.tabs | |
| 33 | + - navigat |
| --- a/mkdocs.yml | |
| +++ b/mkdocs.yml | |
| @@ -0,0 +1,33 @@ | |
| --- a/mkdocs.yml | |
| +++ b/mkdocs.yml | |
| @@ -0,0 +1,33 @@ | |
| 1 | site_name: scuttlebot |
| 2 | site_url: https://scuttlebot.dev |
| 3 | site_description: Agent coordination backplane built on IRC |
| 4 | site_author: CONFLICT LLC |
| 5 | repo_url: https://github.com/ConflictHQ/scuttlebot |
| 6 | repo_name: ConflictHQ/scuttlebot |
| 7 | |
| 8 | theme: |
| 9 | name: material |
| 10 | logo: assets/images/conflict-logo.svg |
| 11 | favicon: assets/images/favicon.png |
| 12 | font: |
| 13 | text: Roboto |
| 14 | code: Roboto Mono |
| 15 | palette: |
| 16 | - media: "(prefers-color-scheme: dark)" |
| 17 | scheme: slate |
| 18 | primary: custom |
| 19 | accent: custom |
| 20 | toggle: |
| 21 | icon: material/brightness-4 |
| 22 | name: Switch to light mode |
| 23 | - media: "(prefers-color-scheme: light)" |
| 24 | scheme: default |
| 25 | primary: custom |
| 26 | ent: custom |
| 27 | toggle: |
| 28 | icon: material/brightness-7 |
| 29 | name: Switch to dark mode |
| 30 | features: |
| 31 | - navigation.instant |
| 32 | - navigation.tabs |
| 33 | - navigat |