Skip to content

Commit 02b56e2

Browse files
author
Andres Contreras
committed
feat(docs): add GitHub Pages site — immersive landing + MkDocs docs
- MkDocs Material site: a custom dark "firefly-in-the-dark" landing (overrides/home.html, firefly.css, firefly-constellation canvas) over the existing 28 docs, with search, light/dark and the violet brand theme. - New Getting-Started pages (installation, quickstart, jupyter) and an in-site changelog that snippet-includes CHANGELOG.md. - GitHub Actions (.github/workflows/docs.yml) builds with `--strict` and deploys to GitHub Pages on push to main. - Fix cross-file and GitHub-style anchor links so `mkdocs build --strict` passes clean (architecture, agents, reasoning, pipeline, tutorial, changelog). - Correct install instructions: the package is NOT published on PyPI. Replace every `pip install fireflyframework-agentic` with the curl installer / from-source (uv sync) — in the landing hero, the installation page, the architecture diagram label (+ its generator) and the README alt text; remove the PyPI social link. One-time manual step to go live: Settings -> Pages -> Source: GitHub Actions.
1 parent 161379f commit 02b56e2

32 files changed

Lines changed: 2095 additions & 12 deletions

.github/workflows/docs.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: docs
2+
3+
# Build the MkDocs site and deploy it to GitHub Pages.
4+
#
5+
# One-time manual step (cannot be automated from here):
6+
# Repo Settings → Pages → Build and deployment → Source: "GitHub Actions".
7+
# After that, every push to main that touches the docs rebuilds and deploys to
8+
# https://fireflyframework.github.io/fireflyframework-agentic/
9+
10+
on:
11+
push:
12+
branches: [main]
13+
paths:
14+
- "docs/**"
15+
- "overrides/**"
16+
- "mkdocs.yml"
17+
- "CHANGELOG.md"
18+
- ".github/workflows/docs.yml"
19+
workflow_dispatch:
20+
21+
permissions:
22+
contents: read
23+
pages: write
24+
id-token: write
25+
26+
# Allow one concurrent deployment; don't cancel an in-progress run.
27+
concurrency:
28+
group: pages
29+
cancel-in-progress: false
30+
31+
jobs:
32+
build:
33+
runs-on: ubuntu-latest
34+
steps:
35+
- uses: actions/checkout@v4
36+
- uses: actions/setup-python@v5
37+
with:
38+
python-version: "3.13"
39+
- name: Cache pip
40+
uses: actions/cache@v4
41+
with:
42+
path: ~/.cache/pip
43+
key: ${{ runner.os }}-pip-${{ hashFiles('docs/requirements.txt') }}
44+
restore-keys: ${{ runner.os }}-pip-
45+
- name: Install docs toolchain
46+
run: pip install -r docs/requirements.txt
47+
- name: Build (strict)
48+
run: mkdocs build --strict
49+
- uses: actions/upload-pages-artifact@v3
50+
with:
51+
path: site
52+
53+
deploy:
54+
needs: build
55+
runs-on: ubuntu-latest
56+
environment:
57+
name: github-pages
58+
url: ${{ steps.deployment.outputs.page_url }}
59+
steps:
60+
- id: deployment
61+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,3 +144,9 @@ examples/corpus_search/test_queries.md
144144
examples/corpus_search/test_queries.local.md
145145
docs/superpowers/
146146
PLAYGROUND.md
147+
148+
# MkDocs build output
149+
/site/
150+
151+
# Playwright MCP screenshots (local verification)
152+
/.playwright-mcp/

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ a **live Anthropic model** end to end. All nine confirmed P0/P1 findings address
343343
Framework alignment: the Dynamic Workflows engine and the tools system now run on
344344
the framework's own primitives and on pydantic-ai's native model — no parallel
345345
implementations, no lossy shims. Includes breaking changes; see the
346-
[Migration Guide](docs/migration.md).
346+
[Migration Guide](https://github.com/fireflyframework/fireflyframework-agentic/blob/main/docs/migration.md).
347347

348348
### Changed (BREAKING)
349349

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ You write your business logic; the framework provides the architecture.
117117
## Architecture at a Glance
118118

119119
<p align="center">
120-
<img src="assets/architecture.svg" alt="Firefly Agentic architecture: one front door (pip install fireflyframework-agentic, @firefly_agent) over five layers — Orchestration, Experimentation, Intelligence, Agent, Core — on the Pydantic AI engine." width="100%">
120+
<img src="assets/architecture.svg" alt="Firefly Agentic architecture: one front door (import fireflyframework_agentic, @firefly_agent) over five layers — Orchestration, Experimentation, Intelligence, Agent, Core — on the Pydantic AI engine." width="100%">
121121
</p>
122122

123123
### Protocol Hierarchy

assets/architecture.svg

Lines changed: 1 addition & 1 deletion
Loading

assets/tools/build_brand_assets.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ def architecture():
219219
b.append(f'<rect x="{X}" y="{fy}" width="{WD}" height="50" rx="12" fill="url(#door)" stroke="#6d28d9" stroke-width="1.2" filter="url(#sh)"/>')
220220
b.append(f'<rect x="{X+14}" y="{fy+6}" width="{WD-28}" height="2" rx="1" fill="#fbf8ff" opacity="0.3"/>')
221221
b.append(f'<text x="{X+22}" y="{fy+20}" font-size="10.5" font-weight="800" fill="#1c0e3a" letter-spacing="1.4">THE FRONT DOOR</text>')
222-
b.append(f'<text x="{X+22}" y="{fy+39}" font-size="15" font-weight="800" fill="#190a35" font-family="{MONO}">pip install fireflyframework-agentic · @firefly_agent</text>')
222+
b.append(f'<text x="{X+22}" y="{fy+39}" font-size="15" font-weight="800" fill="#190a35" font-family="{MONO}">import fireflyframework_agentic · @firefly_agent</text>')
223223
b.append(f'<text x="{X+WD-16}" y="{fy+20}" text-anchor="end" font-size="11" fill="#1c0e3a" font-weight="700">one install</text>')
224224
b.append(f'<text x="{X+WD-16}" y="{fy+39}" text-anchor="end" font-size="11" fill="#1c0e3a" font-weight="700">one decorator</text>')
225225
b.append(f'<g stroke="{VIOLET2}" stroke-width="1.4" stroke-dasharray="2 3" opacity="0.7">'+"".join(f'<line x1="{X+WD*f:.0f}" y1="{fy+50}" x2="{X+WD*f:.0f}" y2="170"/>' for f in (.18,.45,.72))+'</g>')

docs/agents.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ agent = FireflyAgent(name="analyst", model=model)
8888
```
8989

9090
This also works with the `@firefly_agent` decorator and all template agents. See the
91-
[tutorial](tutorial.md#model-providers--authentication) for full provider coverage
91+
[tutorial](tutorial.md#model-providers-authentication) for full provider coverage
9292
including Azure OpenAI, Anthropic, Google, and OpenAI-compatible endpoints.
9393

9494
### Model settings & default temperature
@@ -1153,4 +1153,4 @@ export OPENAI_API_KEY="sk-..."
11531153
uv run python examples/basic_agent.py
11541154
```
11551155

1156-
See [examples/README.md](../examples/README.md) for the full list.
1156+
See [examples/README.md](https://github.com/fireflyframework/fireflyframework-agentic/blob/main/examples/README.md) for the full list.

docs/architecture.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -590,13 +590,13 @@ the framework adds on top is built to be provider-uniform:
590590
(those backends cache differently). See [Agents → PromptCacheMiddleware](agents.md#promptcachemiddleware).
591591
- **Tool schemas** — real `python_type`s keep tool schemas portable, with one
592592
caveat: **Gemini rejects free-form `dict[str, Any]` object schemas** — use a JSON
593-
string or a nested model instead. See [Tools](tools.md#full-fidelity-schemas--runcontext).
593+
string or a nested model instead. See [Tools](tools.md#full-fidelity-schemas-runcontext).
594594
- **Failover & rate limits**`FallbackModelWrapper` / `run_with_fallback` fail over
595595
across providers, and rate-limit backoff prefers a provider's structured retry hint
596596
(e.g. Gemini `retry_delay`) before falling back to exponential backoff.
597597

598598
This is validated end-to-end against a real provider by
599-
`tests/integration/test_real_anthropic_e2e.py` (nightly; see [tests/README](../tests/README.md)).
599+
`tests/integration/test_real_anthropic_e2e.py` (nightly; see [tests/README](https://github.com/fireflyframework/fireflyframework-agentic/blob/main/tests/README.md)).
600600

601601
---
602602

0 commit comments

Comments
 (0)