ver0.5
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
# STRUCTURE.md
|
||||
|
||||
## Purpose
|
||||
This document defines the vault layout, note taxonomy, naming conventions, and frontmatter templates for a memory storage vault designed for Claude Code today and future CoWork plugin access through the Obsidian Local REST API.
|
||||
|
||||
## Recommended Vault Layout
|
||||
|
||||
```text
|
||||
vault/
|
||||
├── CLAUDE.md
|
||||
├── STRUCTURE.md
|
||||
├── BOOTSTRAP.md
|
||||
├── index.md
|
||||
├── README.md
|
||||
├── inbox/
|
||||
├── journal/
|
||||
├── projects/
|
||||
├── areas/
|
||||
├── resources/
|
||||
├── decisions/
|
||||
├── reviews/
|
||||
├── _agent/
|
||||
└── archive/
|
||||
```
|
||||
|
||||
## Note Types
|
||||
- daily-note
|
||||
- weekly-note
|
||||
- monthly-note
|
||||
- project
|
||||
- project-update
|
||||
- area
|
||||
- concept
|
||||
- reference
|
||||
- person
|
||||
- meeting
|
||||
- decision
|
||||
- review
|
||||
- session-log
|
||||
- working-memory
|
||||
- episodic-memory
|
||||
- semantic-memory
|
||||
- context-bundle
|
||||
- skill
|
||||
- draft
|
||||
- inbox-item
|
||||
|
||||
## Project Lifecycle
|
||||
Project notes live in one of four subfolders by state, and `frontmatter.status` MUST match the folder:
|
||||
|
||||
- `projects/active/` — `status: active` (current work)
|
||||
- `projects/incubating/` — `status: incubating` (idea stage)
|
||||
- `projects/on-hold/` — `status: on-hold` (paused but kept)
|
||||
- `projects/archived/` — `status: archived` (done/abandoned)
|
||||
|
||||
Promotion between states = move the file **and** update `status`. Before creating a new project note, search all four subfolders for the slug (the echo-memory skill's mandatory search-first rule) — a duplicate in a non-active folder is the most common drift bug.
|
||||
|
||||
## Decisions
|
||||
Decision notes live in `decisions/by-date/YYYY-MM-DD-<slug>.md`. `decisions/by-project/` is **deprecated** — instead, mirror a project-relevant decision as a `[[wikilink]]` under that project's `## Key Decisions` heading.
|
||||
|
||||
## Core Frontmatter
|
||||
```yaml
|
||||
---
|
||||
type:
|
||||
status:
|
||||
created:
|
||||
updated:
|
||||
tags: []
|
||||
agent_written: false
|
||||
source_notes: [] # plain relative paths as strings — NEVER [[wikilinks]]
|
||||
---
|
||||
```
|
||||
|
||||
> **No `[[wikilinks]]` in frontmatter.** YAML parses `[[...]]` as nested lists, so wiki
|
||||
> links placed in frontmatter (e.g. an old `related:` field) silently break and do not
|
||||
> render as clickable links. All cross-references go in a **`## Related`** section in the
|
||||
> note **body**, as a bulleted list of `[[links]]`. Keep frontmatter to scalar/string
|
||||
> metadata only. `source_notes`, when used, holds plain relative path strings, not links.
|
||||
Reference in New Issue
Block a user