- Introduced new maps for navigating project knowledge, including "Current Work," "Fidelity Domain," "Fidelity Apps," "Work Items," and "People." - Created base files for daily notes, decisions, people, systems, work items, and workstreams with defined properties and views. - Developed templates for daily notes, decisions, meeting notes, persons, systems, work items, and workstreams to standardize documentation. - Updated scripts and prompts to reflect the new project-knowledge directory structure. - Removed outdated onboarding and start-here documents, consolidating relevant information into the new maps. - Ensured all references in workflows and scripts point to the new project-knowledge paths.
151 lines
4.2 KiB
Markdown
151 lines
4.2 KiB
Markdown
# Obsidian Integration Model
|
|
|
|
## Purpose
|
|
|
|
Use Obsidian as a visual navigation and manual review layer over canonical project knowledge.
|
|
|
|
Obsidian should not become a second memory store.
|
|
|
|
---
|
|
|
|
## Recommended Vault
|
|
|
|
Open the `project-knowledge/` folder as the Obsidian vault:
|
|
|
|
```text
|
|
<workspace-root>/project-knowledge/
|
|
```
|
|
|
|
This keeps one source of truth:
|
|
|
|
- OpenCode and agents maintain project knowledge in Markdown
|
|
- Obsidian reads and edits the same Markdown files
|
|
- Git tracks intentional memory and configuration changes
|
|
- runtime evidence and generated artifacts stay outside the vault
|
|
- agent operating rules live outside the vault in `agent-memory/`
|
|
|
|
---
|
|
|
|
## Source Of Truth
|
|
|
|
Canonical project knowledge lives in:
|
|
|
|
- `project-knowledge/00-start/`
|
|
- `project-knowledge/01-current/`
|
|
- `project-knowledge/02-work-items/`
|
|
- `project-knowledge/03-context/`
|
|
- `project-knowledge/04-people/`
|
|
- `project-knowledge/05-decisions/`
|
|
- `project-knowledge/06-daily/`
|
|
- `project-knowledge/07-maps/`
|
|
|
|
Technical runtime remains outside the vault:
|
|
|
|
- `agent-memory/`
|
|
- `.opencode/`
|
|
- `scripts/`
|
|
- `core/`
|
|
- `profiles/`
|
|
- `ai/inbox/`
|
|
- `scripts/*/generated/`
|
|
- archives and local virtual environments
|
|
|
|
Communication evidence may exist under `ai/inbox/` or connector `generated/` folders, but promoted memory belongs in `project-knowledge/`.
|
|
|
|
---
|
|
|
|
## What To Version
|
|
|
|
Version portable Obsidian configuration only when it improves the workspace for every clone:
|
|
|
|
- `project-knowledge/.obsidian/app.json`
|
|
- `project-knowledge/.obsidian/core-plugins.json`
|
|
- `project-knowledge/.obsidian/graph.json`
|
|
- `project-knowledge/.obsidian/appearance.json`
|
|
- `project-knowledge/.obsidian/daily-notes.json`
|
|
- `project-knowledge/.obsidian/templates.json`
|
|
- `project-knowledge/.obsidian/bookmarks.json`
|
|
|
|
Do not version local runtime state:
|
|
|
|
- `project-knowledge/.obsidian/workspace*.json`
|
|
- `project-knowledge/.obsidian/workspace-mobile*.json`
|
|
- `project-knowledge/.obsidian/plugins/`
|
|
- `project-knowledge/.obsidian/snippets/`
|
|
- `project-knowledge/.obsidian/cache/`
|
|
|
|
Recommended graph and search exclusions:
|
|
|
|
- `ai/inbox/`
|
|
- `archives/`
|
|
- `scripts/**/generated/`
|
|
- `scripts/**/.venv/`
|
|
- `.opencode/node_modules/`
|
|
- Python caches and compiled files
|
|
|
|
---
|
|
|
|
## Linking Policy
|
|
|
|
Prefer standard Markdown links for shared workspace files because they remain portable across:
|
|
|
|
- OpenCode
|
|
- VS Code
|
|
- GitHub
|
|
- Obsidian
|
|
- other Markdown tooling
|
|
|
|
Use Obsidian wiki-links only for Obsidian-only notes when there is a clear navigation benefit.
|
|
|
|
---
|
|
|
|
## Agent Rules
|
|
|
|
The agent may update Obsidian navigation notes when they improve project discoverability.
|
|
|
|
The agent should not treat Obsidian runtime layout changes as project context.
|
|
|
|
If Obsidian metadata or properties are added, use them selectively for high-value notes such as work items, decisions, and index pages. Do not mass-convert existing files just to add metadata.
|
|
|
|
Use map notes under `project-knowledge/07-maps/` as graph hubs. This keeps the graph navigable without forcing every file into Obsidian-specific wiki-link syntax.
|
|
|
|
---
|
|
|
|
## Bases
|
|
|
|
Keep Bases simple and property-driven:
|
|
|
|
- work items filter on `type: work-item`
|
|
- people filter on `type: person`
|
|
- decisions filter on `type: decision`
|
|
- daily notes filter on `type: daily`
|
|
- systems filter on `type: system`
|
|
- workstreams filter on `type: workstream`
|
|
|
|
Do not use Bases for raw inboxes, generated evidence, scripts, or runtime logs.
|
|
|
|
---
|
|
|
|
## CLI Wrappers
|
|
|
|
Use `scripts/memory/` as the project-agnostic memory interface.
|
|
|
|
Use `scripts/obsidian/` only as the current Obsidian adapter:
|
|
|
|
- `cli.sh` runs the official Obsidian CLI from the configured vault directory.
|
|
- `uri.sh` generates encoded Obsidian URIs.
|
|
- `open.sh <project-knowledge-relative-path>` opens a note through Obsidian URI.
|
|
- `daily.sh` opens the configured daily note through Obsidian URI.
|
|
- `search.sh <query>` opens Obsidian search through Obsidian URI.
|
|
|
|
The memory interface can use Obsidian CLI when available and fall back to direct Markdown operations when it is not.
|
|
|
|
The agent should depend on `scripts/memory/memory.sh` for portable operations:
|
|
|
|
- `create <type> <slug> [title]`
|
|
- `search <query> [folder]`
|
|
- `base-query <base-name> [format]`
|
|
- `health`
|
|
|
|
This keeps Obsidian replaceable while still making the current vault easier to use.
|