-
Notifications
You must be signed in to change notification settings - Fork 4.5k
docs: restructure documentation around AGENTS.md, VISION.md and decision records #1032
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 6 commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
90525c4
docs: restructure documentation around AGENTS.md, VISION.md and decis…
lfnovo daef740
docs: fix README doc links and add markdown link check to CI
lfnovo 6570c9c
docs: add documentation restructure to changelog
lfnovo b505984
feat: add cubic.yaml with project-aware AI review agents
lfnovo 994820f
docs: graduate issue-first policy by change size
lfnovo 535e13e
docs: align PR template Related Issue section with graduated issue-fi…
lfnovo 89b5078
docs: address review — generalize ADR-002/004, unwrap hard-wrapped lines
lfnovo e72439c
fix: address cubic review — stale doc facts, make dev/full targets, l…
lfnovo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| name: Docs Link Check | ||
|
|
||
| on: | ||
| pull_request: | ||
| paths: | ||
| - "**/*.md" | ||
| - "scripts/check_md_links.py" | ||
| - ".github/workflows/docs-links.yml" | ||
|
|
||
| jobs: | ||
| check-links: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Check relative markdown links | ||
| run: python3 scripts/check_md_links.py |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,54 @@ | ||
| # Open Notebook — Agent Rules | ||
|
|
||
| Open Notebook is an open-source, privacy-focused alternative to Google's Notebook LM: an | ||
| AI-powered research assistant with multi-provider AI support, fully self-hostable. | ||
|
|
||
| This file holds the project-wide rules every coding session needs. Component rules: | ||
| [open_notebook/AGENTS.md](open_notebook/AGENTS.md) (backend — also covers `api/`, `commands/`, | ||
| `prompts/`) and [frontend/AGENTS.md](frontend/AGENTS.md). Knowledge lives in the docs (see | ||
| [Where to look](#where-to-look)) — read it on demand instead of guessing. | ||
|
|
||
| ## Stack, ports, startup order | ||
|
|
||
| Three tiers: Next.js frontend (3000) → FastAPI (5055) → SurrealDB (8000). | ||
|
|
||
| Start in this order — each tier depends on the one below: | ||
|
|
||
| 1. `make database` — SurrealDB (API fails without it) | ||
| 2. `make api` — FastAPI; **schema migrations run automatically on startup** (check logs) | ||
| 3. `make worker-start` — surreal-commands worker. **Required**: podcasts, embeddings and source | ||
| processing are async jobs that silently queue forever without it | ||
| 4. `make frontend` — UI (depends on the API for all data) | ||
|
|
||
| Or all at once: `make start-all` (status: `make status`, stop: `make stop-all`). | ||
|
|
||
| ## Commands | ||
|
|
||
| - Tests: `uv run pytest tests/` | ||
| - Python lint/typecheck: `ruff check . --fix` · `uv run python -m mypy .` | ||
| - Frontend (inside `frontend/`): `npm run lint` · `npm run test` · `npm run build` | ||
| - Docker release: `make docker-release` (see `.github/RELEASE_PROCESS.md`) | ||
|
|
||
| ## Hard rules | ||
|
|
||
| - **Async-first**: every DB query, graph invocation and AI call is `await`-ed. No sync DB access. | ||
| - **Never commit secrets.** Credentials are encrypted at rest and require | ||
| `OPEN_NOTEBOOK_ENCRYPTION_KEY` to be set. | ||
| - CORS is wide-open and auth is a simple password middleware — **dev defaults, not production | ||
| hardening**. Don't build features that assume otherwise. | ||
| - Product direction questions (does this feature fit?) → [VISION.md](VISION.md). Past decisions | ||
| ("why is it like this?") → [docs/7-DEVELOPMENT/decisions/](docs/7-DEVELOPMENT/decisions/). | ||
| Structural decisions made while coding should produce a new decision record there. | ||
|
|
||
| ## Where to look | ||
|
|
||
| | Need | Location | | ||
| |---|---| | ||
| | Architecture (3 tiers, workflows, data model) | [docs/7-DEVELOPMENT/architecture.md](docs/7-DEVELOPMENT/architecture.md) | | ||
| | Step-by-step recipes (add endpoint, migration, i18n…) | [docs/7-DEVELOPMENT/change-playbooks.md](docs/7-DEVELOPMENT/change-playbooks.md) | | ||
| | Dev environment setup | [docs/7-DEVELOPMENT/development-setup.md](docs/7-DEVELOPMENT/development-setup.md) | | ||
| | Code standards & testing | [docs/7-DEVELOPMENT/code-standards.md](docs/7-DEVELOPMENT/code-standards.md) · [testing.md](docs/7-DEVELOPMENT/testing.md) | | ||
| | Product identity & current posture | [VISION.md](VISION.md) | | ||
| | Decision log (ADRs/PDRs) | [docs/7-DEVELOPMENT/decisions/](docs/7-DEVELOPMENT/decisions/) | | ||
| | Contribution process (issue-first, PRs) | [docs/7-DEVELOPMENT/contributing.md](docs/7-DEVELOPMENT/contributing.md) | | ||
| | User/operator docs (install, configure, troubleshoot) | [docs/](docs/index.md) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.