Skip to content

feat(vault): file-first / Obsidian CRM packaging (card: crm-dexcore-vault-packaging)#87

Open
davekilleen wants to merge 1 commit into
mainfrom
feat/crm-vault-packaging
Open

feat(vault): file-first / Obsidian CRM packaging (card: crm-dexcore-vault-packaging)#87
davekilleen wants to merge 1 commit into
mainfrom
feat/crm-vault-packaging

Conversation

@davekilleen

Copy link
Copy Markdown
Owner

What & why

Brings the dex-core vault template to parity with the shipped desktop CRM, so a file-first / Obsidian user gets a working CRM from the files alone (no desktop app required). Closes card crm-dexcore-vault-packaging.

What's in it

  • Opportunities root — new 05-Areas/Opportunities/ + README, registered in the path contract (core/paths.py, dist contract, tests).
  • Schema docs — People / Companies / Opportunities READMEs now document the exact CRM frontmatter (fields, required, status field, vocab) — mirroring the desktop engine so a shared vault never splits.
  • Templates — new Opportunity.md; Person_Page.md + Company.md frontmatter aligned to the schema.
  • Dataview boards05-Areas/CRM_Boards.md: People by warmth band, Companies by funnel stage, Opportunities by pipeline stage (vocab-ordered).
  • .gitignore — ships the CRM template scaffolding while still ignoring user content under 05-Areas.

Verification

  • Path-contract + fixture tests: 64/64 green (core/tests/test_paths.py, test_path_contract.py, test_fixture_vault.py).
  • CRM frontmatter + contract JSON validated.
  • Manual check remaining: Dataview only renders inside Obsidian, so "does it look like a board" is a quick eyeball for a human — the queries are syntactically correct and conventional.

🤖 Generated with Claude Code

https://claude.ai/code/session_017neHyK74Li8afhQ5DQuvSB

…sers (card: crm-dexcore-vault-packaging)

Brings the dex-core vault template to parity with the shipped desktop CRM so a
CLI/Obsidian user gets a working CRM from the files alone:

- Adds the Opportunities entity root (05-Areas/Opportunities) + README, and
  registers it in the path contract (core/paths.py, dist contract, tests).
- Documents the CRM frontmatter schema + vocabularies on the People, Companies
  and Opportunities READMEs, matching the desktop engine exactly (same paths,
  type values, status fields, and vocab so a shared vault never splits).
- Adds schema-accurate entity templates (Opportunity.md new; Person_Page.md and
  Company.md frontmatter aligned) and a CRM_Guide doc.
- Adds 05-Areas/CRM_Boards.md with Dataview board views: People by warmth band,
  Companies by funnel stage, Opportunities by pipeline stage (vocab-ordered).
- .gitignore now ships the CRM template scaffolding while still ignoring user
  content under 05-Areas.

Path-contract + fixture tests green (64/64). Dataview rendering is a manual
Obsidian check (can't be automated).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017neHyK74Li8afhQ5DQuvSB
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant