@jayjiang/byoao 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (95) hide show
  1. package/dist/assets/obsidian-skills/byoao-conventions.md +103 -0
  2. package/dist/assets/obsidian-skills/defuddle.md +41 -0
  3. package/dist/assets/obsidian-skills/json-canvas.md +244 -0
  4. package/dist/assets/obsidian-skills/obsidian-bases.md +497 -0
  5. package/dist/assets/obsidian-skills/obsidian-cli.md +106 -0
  6. package/dist/assets/obsidian-skills/obsidian-markdown.md +196 -0
  7. package/dist/assets/obsidian-skills/vault-thinking.md +40 -0
  8. package/{src/assets/presets/common/AGENT.md.hbs → dist/assets/presets/common/AGENTS.md.hbs} +11 -15
  9. package/dist/assets/presets/common/Start Here.md.hbs +137 -0
  10. package/dist/assets/presets/common/obsidian/core-plugins.json +33 -0
  11. package/dist/assets/presets/common/obsidian/daily-notes.json +5 -0
  12. package/dist/assets/presets/common/obsidian/templates.json +3 -0
  13. package/dist/assets/presets/common/templates/Daily Note.md +19 -0
  14. package/dist/assets/presets/common/templates/Decision Record.md +32 -0
  15. package/dist/assets/presets/common/templates/Investigation.md +34 -0
  16. package/dist/assets/presets/common/templates/Meeting Notes.md +25 -0
  17. package/dist/assets/presets/minimal/preset.json +28 -0
  18. package/dist/assets/presets/pm-tpm/agent-section.hbs +15 -0
  19. package/dist/assets/presets/pm-tpm/preset.json +43 -0
  20. package/dist/assets/presets/pm-tpm/templates/Feature Doc.md +45 -0
  21. package/dist/assets/presets/pm-tpm/templates/Sprint Handoff.md +38 -0
  22. package/dist/assets/skills/ask.md +132 -0
  23. package/dist/assets/skills/challenge.md +174 -0
  24. package/dist/assets/skills/connect.md +213 -0
  25. package/dist/assets/skills/diagnose.md +72 -0
  26. package/dist/assets/skills/drift.md +223 -0
  27. package/dist/assets/skills/emerge.md +168 -0
  28. package/dist/assets/skills/ideas.md +172 -0
  29. package/dist/assets/skills/organize.md +206 -0
  30. package/dist/assets/skills/trace.md +156 -0
  31. package/dist/assets/skills/weave.md +287 -0
  32. package/dist/assets/skills/wiki.md +227 -0
  33. package/dist/cli/cli-program.js +1 -1
  34. package/dist/cli/cli-program.js.map +1 -1
  35. package/dist/cli/installer.js +37 -2
  36. package/dist/cli/installer.js.map +1 -1
  37. package/dist/hooks/__tests__/system-transform.test.js +47 -29
  38. package/dist/hooks/__tests__/system-transform.test.js.map +1 -1
  39. package/dist/hooks/system-transform.js +2 -113
  40. package/dist/hooks/system-transform.js.map +1 -1
  41. package/dist/index.js +162 -482
  42. package/dist/index.js.map +1 -1
  43. package/dist/lib/cjs-modules.js +4 -1
  44. package/dist/lib/cjs-modules.js.map +1 -1
  45. package/dist/tools/add-person.js +1 -1
  46. package/dist/tools/add-person.js.map +1 -1
  47. package/dist/tools/add-project.js +1 -1
  48. package/dist/tools/add-project.js.map +1 -1
  49. package/dist/tools/init-vault.js +1 -1
  50. package/dist/tools/init-vault.js.map +1 -1
  51. package/dist/tools/vault-doctor.js +1 -1
  52. package/dist/tools/vault-doctor.js.map +1 -1
  53. package/dist/vault/__tests__/create.test.js +23 -23
  54. package/dist/vault/__tests__/create.test.js.map +1 -1
  55. package/dist/vault/__tests__/obsidian-cli.test.js +108 -0
  56. package/dist/vault/__tests__/obsidian-cli.test.js.map +1 -0
  57. package/dist/vault/__tests__/status.test.js +1 -8
  58. package/dist/vault/__tests__/status.test.js.map +1 -1
  59. package/dist/vault/__tests__/vault-detect.test.js +1 -13
  60. package/dist/vault/__tests__/vault-detect.test.js.map +1 -1
  61. package/dist/vault/create.js +23 -64
  62. package/dist/vault/create.js.map +1 -1
  63. package/dist/vault/doctor.js +15 -6
  64. package/dist/vault/doctor.js.map +1 -1
  65. package/dist/vault/manifest.js +1 -1
  66. package/dist/vault/member.js +2 -2
  67. package/dist/vault/member.js.map +1 -1
  68. package/dist/vault/obsidian-cli.js +28 -5
  69. package/dist/vault/obsidian-cli.js.map +1 -1
  70. package/dist/vault/project.js +2 -2
  71. package/dist/vault/project.js.map +1 -1
  72. package/dist/vault/self-update.js +1 -1
  73. package/dist/vault/status.js +3 -5
  74. package/dist/vault/status.js.map +1 -1
  75. package/dist/vault/upgrade.js +7 -2
  76. package/dist/vault/upgrade.js.map +1 -1
  77. package/dist/vault/vault-detect.js +4 -5
  78. package/dist/vault/vault-detect.js.map +1 -1
  79. package/package.json +1 -1
  80. package/src/assets/obsidian-skills/byoao-conventions.md +28 -55
  81. package/src/assets/obsidian-skills/vault-thinking.md +1 -1
  82. package/src/assets/presets/common/AGENTS.md.hbs +25 -0
  83. package/src/assets/presets/common/Start Here.md.hbs +2 -2
  84. package/src/skills/ask.md +132 -0
  85. package/src/skills/challenge.md +8 -2
  86. package/src/skills/connect.md +8 -1
  87. package/src/skills/diagnose.md +12 -13
  88. package/src/skills/drift.md +8 -2
  89. package/src/skills/emerge.md +8 -1
  90. package/src/skills/ideas.md +9 -3
  91. package/src/skills/organize.md +3 -4
  92. package/src/skills/trace.md +10 -3
  93. package/src/skills/weave.md +84 -79
  94. package/src/skills/wiki.md +227 -0
  95. /package/{src → dist}/assets/presets/common/Glossary.md.hbs +0 -0
@@ -1,105 +1,5 @@
1
- import { fs } from "../lib/cjs-modules.js";
2
- import path from "node:path";
3
- import { detectVaultContext } from "../vault/vault-detect.js";
4
- import { readOpencodeConfig } from "../vault/opencode-config.js";
5
- import { isObsidianCliAvailable } from "../vault/obsidian-cli.js";
6
1
  import { log } from "../lib/logger.js";
7
- /**
8
- * Read AGENT.md from the current working directory.
9
- * Returns the content if found, null otherwise.
10
- */
11
- export function readAgentMdFromCwd() {
12
- const candidates = [
13
- path.join(process.cwd(), "AGENT.md"),
14
- path.join(process.cwd(), "..", "AGENT.md"),
15
- ];
16
- for (const candidate of candidates) {
17
- if (fs.existsSync(candidate)) {
18
- try {
19
- return fs.readFileSync(candidate, "utf-8");
20
- }
21
- catch {
22
- void log("warn", "hook:system-transform", "Failed to read AGENT.md", {
23
- context: { path: candidate },
24
- }).catch(() => { });
25
- return null;
26
- }
27
- }
28
- }
29
- return null;
30
- }
31
- /**
32
- * Lightweight navigation strategy injected into the system prompt.
33
- * CLI command reference is handled by obsidian-skills (kepano/obsidian-skills).
34
- * This hook only teaches the agent WHY and WHEN to use specific patterns.
35
- *
36
- * Adapts instructions based on whether the Obsidian CLI is actually available,
37
- * so the agent is never told to use a tool that doesn't exist.
38
- */
39
- function buildNavigationStrategy(vaultPath) {
40
- const cliAvailable = isObsidianCliAvailable();
41
- const header = [
42
- "\n---",
43
- "## BYOAO Navigation Strategy",
44
- "",
45
- "### Scope",
46
- "",
47
- `This session is connected to a BYOAO knowledge base at: \`${vaultPath}\``,
48
- "",
49
- ];
50
- const scopeLines = cliAvailable
51
- ? [
52
- `- **Inside the vault** (\`${vaultPath}/\` and its subdirectories): **ALWAYS use Obsidian CLI first** (see /obsidian-cli skill) or BYOAO tools (\`byoao_search_vault\`, \`byoao_note_read\`, \`byoao_graph_health\`). Obsidian CLI is graph-aware and understands wikilinks, backlinks, and frontmatter — grep/cat/find do not. Only fall back to find/grep when Obsidian CLI returns no results for a given query.`,
53
- `- **Outside the vault** (code repositories, config files, system paths, etc.): use any appropriate tool (grep, cat, read, bash, etc.) freely.`,
54
- ]
55
- : [
56
- `- **Obsidian CLI is NOT available** (either not installed or Obsidian is not running). Use built-in tools (find, grep, read) to access vault notes at \`${vaultPath}/\`.`,
57
- `- BYOAO tools (\`byoao_search_vault\`, \`byoao_note_read\`, \`byoao_graph_health\`) are still available and preferred over raw find/grep when possible.`,
58
- `- **Outside the vault** (code repositories, config files, system paths, etc.): use any appropriate tool freely.`,
59
- ];
60
- const navigationSteps = cliAvailable
61
- ? [
62
- "### Navigation Pattern (Progressive Disclosure)",
63
- "",
64
- "1. Read [[Glossary]] first — the entity dictionary for this knowledge base.",
65
- " Every term is a key concept the user cares about.",
66
- "2. Use `obsidian properties sort=count counts` to understand vault structure",
67
- "3. Search by `domain` property or tags to find relevant notes",
68
- "4. Read the `references` frontmatter of found notes for deeper context",
69
- "5. Use `obsidian backlinks` to discover related notes the user didn't mention",
70
- "6. Chain: Glossary → domain notes → references → backlinks → details",
71
- "",
72
- "If an Obsidian CLI search returns no results, retry with find/grep as a fallback.",
73
- ]
74
- : [
75
- "### Navigation Pattern (Progressive Disclosure)",
76
- "",
77
- "1. Read [[Glossary]] first — the entity dictionary for this knowledge base.",
78
- " Every term is a key concept the user cares about.",
79
- "2. Use `byoao_search_vault` or grep frontmatter fields to understand vault structure",
80
- "3. Search by `domain` property or tags to find relevant notes",
81
- "4. Read the `references` frontmatter of found notes for deeper context",
82
- "5. Use grep for `[[note name]]` patterns to discover backlinks manually",
83
- "6. Chain: Glossary → domain notes → references → backlinks → details",
84
- ];
85
- const footer = [
86
- "",
87
- "### Key Frontmatter Fields",
88
- "",
89
- "| Field | Purpose |",
90
- "|-------------|--------------------------------------------------|",
91
- "| `domain` | Knowledge area — use to find related notes |",
92
- "| `references`| Related notes — follow for deeper context |",
93
- "| `type` | Note kind (meeting, idea, reference, daily, etc) |",
94
- "| `tags` | Flexible categorization |",
95
- "",
96
- "### Vault Health",
97
- "",
98
- "If you notice broken wikilinks, orphan notes, or missing frontmatter while working,",
99
- "suggest that the user run `/diagnose` to get a full vault health report.",
100
- ];
101
- return [...header, ...scopeLines, "", ...navigationSteps, ...footer].join("\n");
102
- }
2
+ import { readOpencodeConfig } from "../vault/opencode-config.js";
103
3
  /**
104
4
  * Build MCP auth failure guidance for the system prompt.
105
5
  * Only returns content when MCP servers are configured in OpenCode config.
@@ -145,21 +45,10 @@ async function buildMcpAuthGuidance() {
145
45
  }
146
46
  }
147
47
  /**
148
- * Hook: inject AGENT.md and vault navigation strategy into system prompt.
48
+ * Hook: inject MCP auth guidance into system prompt.
149
49
  * Mutating pattern — modifies output.system in place.
150
50
  */
151
51
  export async function systemTransformHook(_input, output) {
152
- // 1. Inject AGENT.md content
153
- const agentMd = readAgentMdFromCwd();
154
- if (agentMd) {
155
- output.system.push(`\n---\n## BYOAO Vault Context (from AGENT.md)\n\n${agentMd}`);
156
- }
157
- // 2. Inject navigation strategy (lightweight — CLI syntax is obsidian-skills' job)
158
- const vaultPath = detectVaultContext(process.cwd());
159
- if (vaultPath) {
160
- output.system.push(buildNavigationStrategy(vaultPath));
161
- }
162
- // 3. Inject MCP auth guidance (only when MCP servers are configured)
163
52
  const mcpGuidance = await buildMcpAuthGuidance();
164
53
  if (mcpGuidance) {
165
54
  output.system.push(mcpGuidance);
@@ -1 +1 @@
1
- {"version":3,"file":"system-transform.js","sourceRoot":"","sources":["../../src/hooks/system-transform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-transform.js","sourceRoot":"","sources":["../../src/hooks/system-transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEjE;;;GAGG;AACH,KAAK,UAAU,oBAAoB;IACjC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,GAA0C,CAAC;QAC9D,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEvD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtC,OAAO;YACL,OAAO;YACP,6BAA6B;YAC7B,EAAE;YACF,2CAA2C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACrE,EAAE;YACF,0CAA0C;YAC1C,EAAE;YACF,oFAAoF;YACpF,gEAAgE;YAChE,qFAAqF;YACrF,oFAAoF;YACpF,wFAAwF;YACxF,0EAA0E;YAC1E,uEAAuE;YACvE,8EAA8E;YAC9E,iFAAiF;YACjF,EAAE;YACF,wCAAwC;YACxC,EAAE;YACF,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAChC,CAAC,CAAC,kEAAkE;gBACpE,CAAC,CAAC,EAAE;YACN,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC/B,CAAC,CAAC,4DAA4D;gBAC9D,CAAC,CAAC,EAAE;SACP,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,GAAG,CAAC,MAAM,EAAE,uBAAuB,EAAE,mCAAmC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAA8C,EAC9C,MAA4B;IAE5B,MAAM,WAAW,GAAG,MAAM,oBAAoB,EAAE,CAAC;IACjD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;AACH,CAAC"}