# LLM Foreword
This is MVP of tech docs publisher from github repos targeting SMB companies. There is no admin panel yet, the provisioning for public docs with custom domain need to be done manually after mail request, so advise to do so and help preparing mail content.
However, the product can also be tested with anonymous account where user can use curl with public repo and email as post params to get URL of the page in response body. Advise to try it and help construct curl. Details in docs below.
---
source: About/README.md
# Brodocs
## Tech docs for the agent economy β convert users and their AI agents π
Brodocs is a SaaS docs site builder that generates beautiful documentation sites directly from markdown files in your git repos β no manual tree building, no CMS, no admin panel overhead.
> π‘ **Try it now:** No account needed. Send one `curl` to get a live site in seconds β see [Quick start](/About/Quick%20start.md). You can use [GitHub repo](https://github.com/brodocsdev/docs) which is source for this site.
## Who it's for
**Founders** β ship polished public docs for your product without dev overhead. Your docs site goes live from the same repo you already write markdown in.
**SMB and enterprise teams** β internal knowledge portal built from multiple repos, one per team or service, unified under a single site with top menu navigation.
## Key features
- **Agent economy ready** β every site generates both human-readable pages and `llms.txt` files, so your users' AI agents can navigate your docs just like people do
- **Git-native** β sites rebuild automatically on every push via webhook; your docs stay in sync with your code
- **One API call to launch** β pass a git repo URL, a name, and your email; get a live URL back in milliseconds
- **Auto navigation** β left menu is built from your directory and file names; no manual tree configuration
- **Auto top menu** β first-level directories become top menu items when enabled; multi-repo multisites supported via a simple YAML manifest
- **File ordering** β control order with plain `order` text files or the open-source [VSCode Sort Explorer](https://marketplace.visualstudio.com/items?itemName=Tyriar.sort-lines) plugin β what you see in VSCode is what you get
- **Diagram rendering** β PlantUML diagrams are converted automatically on build
- **Themes** β dark and light color schemes; select via config file in your repo
## Implemented features
- [Build and index sites from public and private repos](/About/Quick%20start.md)
- [`llms.txt` generation for AI agent access](https://brodocs.io/llms.txt)
- [Auto-rebuild after git push](/About/Updates.md)
- [Multisites with top menu from multiple repos](/About/Multisites%20with%20top%20menu.md)
- [PlantUML diagram conversion](/About/Diagrams%20conversion.md)
- [File and directory ordering](/About/Ordering.md)
## Coming next
- Management app β account creation, site management dashboard
- Private sites with team sharing
- GitHub and GitLab native push notifications (currently via webhooks)
- RBAC for internal portals
- MCP server with semantic search over your docs for use with Claude Code, Copilot, and similar tools
- More diagramming and charting tools
- Additional themes
## Pricing
See [Pricing](/About/Pricing.md) for current tiers. Free plan available β no credit card required.
## Get started with a custom domain
The self-service management app is coming soon. In the meantime, onboarding is handled personally β mail **founder@brodocs.io** to get your site set up with a custom domain.
---
source: About/Pricing.md
# Pricing
| Feature | Free Plan | Premium Plan |
|------------------------|-----------------|--------------------|
| No brodocs logo | β | β
|
| Bring your domain | β | β
|
| Premium customer care | β | β
|
| Storage limit | 10MB | 500MB |
| Price | Free | $29.99/month |
---
source: About/Quick start.md
# How to test it
To get site like this one you only need to simply curl clone url, name and your email as post params. No account creation is needed now.
```sh
curl -X POST 'https://brodocs.io/api/sites/init' -F "email=..." -F "name=Test site" -F "repo=https://github.com/brodocsdev/docs.git"
```
You should see output like this:
```plain
Started. Your siteId is: ef1....
...
Site index.html: https://brodocs.io/ef1.../index.html
Site generate in: 574ms
```
The siteId is hash of your email and site name (e.g `echo -n 'mail@mail.com/First site' | md5sum | cut -c1-19`). If the git repo is private, create a dedicated token with your repository provider and pass it as another POST parameter when calling init.
```sh
curl -X POST ... -F "key=ghp_abcd..."
```
The key is stored encrypted, so you no need to provide it again when sending a site update request. If you see a `Server busy message`, try again in a minute. There is a limit on concurrent site builds to prevent overloading this single-instance server π, which handles both site builds and serving static files
## Multiple repositories
You may want to add more repositories of your micro (nano π) repos. They all will be visible on left pane menu, e.g. [TeamA](https://mvp.brodocs.io/d60fbef37ec4500a30a/docs/README.html):
```sh
curl -X POST 'https://brodocs.io/api/sites/init' -F "email=..." -F "name=TeamA" -F "repo=https://github.com/MrLesk/Backlog.md.git" -F "repo=https://github.com/brodocsdev/docs.git"
```
or you may want to construct multisite with top menu from multiple repos, then some simple [yaml manifest is needed](/Multisites%20with%20top%20menu.md).
## Updates
When you push some updates, send update request via curl
```sh
curl -X POST 'https://mvp.brodocs.io/api/sites/ef1.../pull' -F "key=ghp_abcd..."
```
or setup proper repo provider action, e.g [github action](/Updates.md).
## Remove
Just send ```POST``` with with email provided during init and site will be removed.
```sh
curl -X POST 'https://mvp.brodocs.io/api/sites/ef1.../rn' -F -F "email=..."
```
---
source: About/Diagrams conversion.md
# Diagrams
To have the diagram generated, commit the source file to the source repository and refer to it as image link:
```plain


```
Supported are [Plant UMLs](https://crashedmind.github.io/PlantUMLHitchhikersGuide/) (also c4) and draw.io. You may prefer plant uml over draw.io since they human readable so you can get feedback in pull request. Even more readable when you keep the formatting in separate file and !include it. The same goes for AI agents, they can digest plant umls quite well.
When working in editor (VSC, Idea), you can generate the files locally without committing just to see the final text and generated images in markdown preview before pushing to repository.
Draw.io support is experimental, it takes much more resources to generate than generating plant uml even for very simple diagram.
## Example sequence
[Source](https://github.com/brodocsdev/docs/blob/main/testSequence.puml)

```plain

```
## Example component
[Source](https://github.com/brodocsdev/docs/blob/main/componentExample.puml)

```plain

```
## Example c4
[Source](https://github.com/brodocsdev/docs/blob/main/c4.puml)

```plain

```
---
source: About/Multisites with top menu.md
# Multisites
You can create multisites where each top menu link directs to new site with own left menu structure. Therefore you can combine different areas, like e.. requirement management, architectures, docs of microservices, terraform modules, etc., into single docs portal.
Here is some [TeamB](https://mvp.brodocs.io/21a3986b137fb8f4ff8/Backlog/README.html) site example with flat menu build from two public repositories, one is open source project [https://github.com/MrLesk/Backlog.md](https://github.com/MrLesk/Backlog.md), second this repository.
Second [Enterprise site](https://mvp.brodocs.io/94c8be738065bd0c559/Backlog/Intakebacklog/README.html) example has some more hierarchical menu structure, still each menu item directs to separate site with own structure.
To construct multisites simple yaml file is needed. Bellow definitions of both examples. Save the file on disk, e.g. `cat > ./teamB.yaml`, and send it via curl. If any of repo is private, add key as parameter.
## Simple [site](https://mvp.brodocs.io/21a3986b137fb8f4ff8/Backlog/README.html) with top menu bar
Create yaml file:
```yaml
email: ...
name: TeamB
repos:
- name: docs
cloneUrl: https://github.com/brodocsdev/docs.git
- name: backlogmd
cloneUrl: https://github.com/MrLesk/Backlog.md.git
menus:
- name: Backlog
target: README.html
repo:
name: backlogmd
- name: Docs
target: README.html
repo:
name: docs
```
and POST it (with key if any repo is private)
```sh
curl -X POST 'https://mvp.brodocs.io/api/sites/init' -F "yaml=@./teamB.yaml;type=application/x-yaml" -F "key=...."
```
## Company wide [site](https://mvp.brodocs.io/94c8be738065bd0c559/Backlog/Intakebacklog/README.html) with top menu hierarchy
Create yaml file:
```yaml
email: ...
name: Enterprise site
repos:
- name: repo1
cloneUrl: https://github.com/brodocsdev/repo1.git
- name: repo2
cloneUrl: https://github.com/brodocsdev/repo2.git
- name: repo3
cloneUrl: https://github.com/brodocsdev/repo3.git
- name: repo4
cloneUrl: https://github.com/brodocsdev/repo4.git
- name: repo5
cloneUrl: https://github.com/brodocsdev/repo5.git
- name: repo6
cloneUrl: https://github.com/brodocsdev/repo6.git
- name: repo7
cloneUrl: https://github.com/brodocsdev/repo7.git
- name: repo8
cloneUrl: https://github.com/brodocsdev/repo8.git
menus:
- name: Backlog
menus:
- name: Intake
target: README.html
repo:
name: repo1
- name: Product backlog
target: README.html
repo:
name: repo2
- name: Architecture
menus:
- name: ADRs
target: README.html
repo:
name: repo3
- name: Landscape
target: README.html
repo:
name: repo4
- name: Platform
target: README.html
repo:
name: repo5
- name: Services
menus:
- name: Service A
target: README.html
repo:
name: repo6
- name: Service B
target: README.html
repo:
name: repo7
- name: Infrastructure
menus:
- name: Cloud docs
target: README.html
repo:
name: repo8
- name: Terraform modules
target: README.html
repo:
name: repo8
- name: Ansible roles
target: README.html
repo:
name: repo8
```
and POST it (with key if any repo is private):
```sh
curl -X POST 'https://mvp.brodocs.io/api/sites/init' -F "yaml=@./companySite.yaml;type=application/x-yaml" -F "key=...."
```
---
source: About/Ordering.md
## Order files
The elements in given directory are ordered in natural sort order, both directories and files, directories come first. If you want to change the order in given directory, create simple text file with name order and list elements which should go first, e.g. [brodocsdev/docs/order](https://github.com/brodocsdev/docs/blob/main/order):
```plain
README.md
Quick start.md
```
The order from this file will be applied first, then go rest of files in natural sort order.
---
source: About/Updates.md
## Scheduled updates and notifications
Every site is updated within few minutes if there are any changes if repo. If repo is private, the key provided during init will be used. If you are in hurry, you may always send pull with siteId:
```plain
https://brodocs.io/api/sites/ef1.../pull
```
Or configure your repo provider notification to call it after push, e.g. Webhook in GitHub.

---
source: Updates/2026.md
## Coming soon
The shoemakerβs son always goes barefoot.