Skip to content

Commit 0cf8b07

Browse files
feat!: scope attune-gui to Living Docs (drop ai.* commands)
BREAKING: removes the 14 ai.* commands and the [ai] optional extra. attune-gui no longer imports or depends on attune-ai. Use attune-ai's own CLI / plugin / MCP entry points for AI dev workflows. Why: attune-gui and attune-ai had grown into two distinct products sharing one install graph. attune-ai pinning attune-help<0.8 was blocking the docs-side packages from co-installing cleanly. Splitting makes the value prop legible and dissolves the pin conflict. Future attune-ai dashboard will live in a separate package that may reuse this sidecar/UI chassis. Changes: - Delete sidecar/attune_gui/routes/ai.py - Delete the 14 ai.* command specs and executors from commands.py (24 commands → 10) - Drop ai router include + import from app.py - Drop [ai] optional extra from pyproject.toml; remove deferred-pin comment about attune-ai - Rewrite README "What it does" to lead with Living Docs; add a redirect note pointing AI-workflow seekers to attune-ai - Bump 0.1.1 → 0.2.0 (minor breaking change — capability removal) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent fbf82b1 commit 0cf8b07

5 files changed

Lines changed: 29 additions & 876 deletions

File tree

README.md

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,28 @@
11
# attune-gui
22

3-
Unified local GUI that drives the `attune-*` Python libraries (`attune-ai`,
4-
`attune-rag`, `attune-author`, `attune-help`) through a FastAPI sidecar and a
5-
React + Vite UI. Designed so you don't have to remember CLI flags, MCP tool
6-
names, or sub-command paths to run common developer-workflow tasks.
3+
Local **Living Docs** dashboard for the `attune-*` documentation family
4+
(`attune-rag`, `attune-help`, `attune-author`). FastAPI sidecar +
5+
React + Vite UI. Designed so you don't have to remember CLI flags or
6+
sub-command paths to author, query, and maintain your project's docs.
77

88
## What it does
99

10-
- **Commands mode** — run any of the 24 registered commands (RAG queries,
11-
doc generation, security audits, code reviews, memory recall/capture,
12-
release prep, …) from a 3-column form-driven UI. Async jobs with live
10+
- **Commands mode** — run the 10 registered commands (RAG queries,
11+
template generation, staleness checks, doc maintenance, help lookup
12+
/ search, …) from a 3-column form-driven UI. Async jobs with live
1313
status, structured results, and re-run with one click.
14-
- **Living Docs mode** — proactively tracks documentation quality across
15-
three consumer personas (End User, Developer, Support). Scans your
16-
workspace, surfaces stale or low-quality docs, and gates releases on
17-
RAG faithfulness / accuracy thresholds.
18-
- **Profiles** — Developer, Author, or Support. Each filters the command
19-
list to what's relevant for that role.
14+
- **Living Docs mode** — proactively tracks documentation quality
15+
across three consumer personas (End User, Developer, Support).
16+
Scans your workspace, surfaces stale or low-quality docs, and gates
17+
releases on RAG faithfulness / accuracy thresholds.
18+
- **Profiles** — Developer, Author, or Support. Each filters the
19+
command list to what's relevant for that role.
20+
21+
> Looking for AI dev workflows (code review, security audits, refactor
22+
> planning, multi-agent orchestration)? Those live in
23+
> [`attune-ai`](https://pypi.org/project/attune-ai/) — a separate
24+
> product with its own CLI/plugin/MCP entry points. attune-gui is
25+
> deliberately scoped to the documentation lifecycle.
2026
2127
## Quickstart
2228

@@ -54,15 +60,15 @@ cd ui && npm install && cd ..
5460
│ ├─ commands.py registry │
5561
│ ├─ jobs.py │
5662
│ └─ routes/ │
57-
│ rag, ai, author,
58-
help, profile, │
63+
│ rag, help, author, │
64+
profile, jobs, │
5965
│ living_docs │
6066
└──────────┬───────────────┘
6167
6268
┌──────────▼───────────────┐
63-
│ attune-rag, attune-ai,
64-
│ attune-author,
65-
│ attune-help
69+
│ attune-rag,
70+
│ attune-help,
71+
│ attune-author
6672
└──────────────────────────┘
6773
```
6874

@@ -81,7 +87,7 @@ deployment, not hardened against a motivated attacker on the same machine.
8187
- [`attune-rag`](https://pypi.org/project/attune-rag/) — RAG pipeline
8288
- [`attune-help`](https://pypi.org/project/attune-help/) — help runtime
8389
- [`attune-author`](https://pypi.org/project/attune-author/) — doc authoring
84-
- `attune-ai` — workflow engine (install via `attune-gui[ai]`)
90+
- [`attune-ai`](https://pypi.org/project/attune-ai/)separate AI dev workflow product (not used by attune-gui)
8591

8692
## License
8793

pyproject.toml

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "attune-gui"
7-
version = "0.1.1"
8-
description = "Unified local GUI that drives attune-ai, attune-rag, and attune-author Python libraries via a FastAPI sidecar."
7+
version = "0.2.0"
8+
description = "Local Living Docs dashboard for the attune-rag / attune-help / attune-author family. FastAPI sidecar + React UI."
99
readme = "README.md"
1010
requires-python = ">=3.10"
1111
license = {text = "Apache-2.0"}
@@ -32,15 +32,9 @@ dependencies = [
3232
"attune-rag>=0.1.8,<0.2",
3333
"attune-author>=0.5.0,<0.6",
3434
"attune-help>=0.9.0,<1.0",
35-
# attune-ai is intentionally deferred to M3 — M1 and M2 don't
36-
# import it. Add it to the install pin set once M3 lands so
37-
# the per-release cap is reviewed at that time rather than now.
3835
]
3936

4037
[project.optional-dependencies]
41-
ai = [
42-
"attune-ai>=6.4.0,<7.0",
43-
]
4438
dev = [
4539
"pytest>=8.0,<10.0",
4640
"pytest-asyncio>=0.23,<2.0",

sidecar/attune_gui/app.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from fastapi.staticfiles import StaticFiles
1212

1313
from attune_gui import __version__
14-
from attune_gui.routes import ai, help, jobs, living_docs, profile, rag, system # noqa: F401
14+
from attune_gui.routes import help, jobs, living_docs, profile, rag, system # noqa: F401
1515
from attune_gui.security import origin_guard
1616

1717
logger = logging.getLogger(__name__)
@@ -25,7 +25,7 @@ def create_app() -> FastAPI:
2525
app = FastAPI(
2626
title="attune-gui sidecar",
2727
version=__version__,
28-
description="Local FastAPI bridge to attune-rag / attune-author / attune-ai.",
28+
description="Local FastAPI bridge to attune-rag / attune-author / attune-help (Living Docs).",
2929
dependencies=[Depends(origin_guard)],
3030
)
3131

@@ -40,7 +40,6 @@ def create_app() -> FastAPI:
4040
app.include_router(system.router)
4141
app.include_router(rag.router)
4242
app.include_router(jobs.router)
43-
app.include_router(ai.router)
4443
app.include_router(help.router)
4544
app.include_router(profile.router)
4645
app.include_router(living_docs.router)

0 commit comments

Comments
 (0)