youmd 0.6.21 → 0.6.26

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 (190) hide show
  1. package/dist/commands/build.d.ts.map +1 -1
  2. package/dist/commands/build.js +0 -1
  3. package/dist/commands/build.js.map +1 -1
  4. package/dist/commands/chat.d.ts.map +1 -1
  5. package/dist/commands/chat.js +283 -184
  6. package/dist/commands/chat.js.map +1 -1
  7. package/dist/commands/init.d.ts.map +1 -1
  8. package/dist/commands/init.js +21 -1
  9. package/dist/commands/init.js.map +1 -1
  10. package/dist/commands/keys.d.ts.map +1 -1
  11. package/dist/commands/keys.js +3 -3
  12. package/dist/commands/keys.js.map +1 -1
  13. package/dist/commands/link.d.ts.map +1 -1
  14. package/dist/commands/link.js +3 -3
  15. package/dist/commands/link.js.map +1 -1
  16. package/dist/commands/login.d.ts +29 -0
  17. package/dist/commands/login.d.ts.map +1 -1
  18. package/dist/commands/login.js +256 -127
  19. package/dist/commands/login.js.map +1 -1
  20. package/dist/commands/logs.js +0 -1
  21. package/dist/commands/logs.js.map +1 -1
  22. package/dist/commands/mcp.d.ts +14 -0
  23. package/dist/commands/mcp.d.ts.map +1 -1
  24. package/dist/commands/mcp.js +284 -28
  25. package/dist/commands/mcp.js.map +1 -1
  26. package/dist/commands/private.d.ts.map +1 -1
  27. package/dist/commands/private.js +6 -5
  28. package/dist/commands/private.js.map +1 -1
  29. package/dist/commands/project.d.ts.map +1 -1
  30. package/dist/commands/project.js +9 -5
  31. package/dist/commands/project.js.map +1 -1
  32. package/dist/commands/publish.d.ts.map +1 -1
  33. package/dist/commands/publish.js +0 -1
  34. package/dist/commands/publish.js.map +1 -1
  35. package/dist/commands/pull.d.ts +24 -1
  36. package/dist/commands/pull.d.ts.map +1 -1
  37. package/dist/commands/pull.js +114 -14
  38. package/dist/commands/pull.js.map +1 -1
  39. package/dist/commands/push.d.ts +1 -0
  40. package/dist/commands/push.d.ts.map +1 -1
  41. package/dist/commands/push.js +33 -13
  42. package/dist/commands/push.js.map +1 -1
  43. package/dist/commands/register.d.ts +6 -0
  44. package/dist/commands/register.d.ts.map +1 -1
  45. package/dist/commands/register.js +179 -79
  46. package/dist/commands/register.js.map +1 -1
  47. package/dist/commands/skill.d.ts.map +1 -1
  48. package/dist/commands/skill.js +121 -50
  49. package/dist/commands/skill.js.map +1 -1
  50. package/dist/commands/stack.d.ts +16 -0
  51. package/dist/commands/stack.d.ts.map +1 -0
  52. package/dist/commands/stack.js +670 -0
  53. package/dist/commands/stack.js.map +1 -0
  54. package/dist/commands/status.d.ts.map +1 -1
  55. package/dist/commands/status.js +25 -5
  56. package/dist/commands/status.js.map +1 -1
  57. package/dist/commands/sync.d.ts +23 -0
  58. package/dist/commands/sync.d.ts.map +1 -1
  59. package/dist/commands/sync.js +193 -12
  60. package/dist/commands/sync.js.map +1 -1
  61. package/dist/commands/whoami.d.ts.map +1 -1
  62. package/dist/commands/whoami.js +21 -16
  63. package/dist/commands/whoami.js.map +1 -1
  64. package/dist/create.js +0 -0
  65. package/dist/index.js +50 -7
  66. package/dist/index.js.map +1 -1
  67. package/dist/lib/api.d.ts +94 -5
  68. package/dist/lib/api.d.ts.map +1 -1
  69. package/dist/lib/api.js +122 -5
  70. package/dist/lib/api.js.map +1 -1
  71. package/dist/lib/ascii.d.ts +1 -0
  72. package/dist/lib/ascii.d.ts.map +1 -1
  73. package/dist/lib/ascii.js +9 -26
  74. package/dist/lib/ascii.js.map +1 -1
  75. package/dist/lib/canonical-json.d.ts +8 -0
  76. package/dist/lib/canonical-json.d.ts.map +1 -0
  77. package/dist/lib/canonical-json.js +29 -0
  78. package/dist/lib/canonical-json.js.map +1 -0
  79. package/dist/lib/capability-router.d.ts +58 -0
  80. package/dist/lib/capability-router.d.ts.map +1 -0
  81. package/dist/lib/capability-router.js +54 -0
  82. package/dist/lib/capability-router.js.map +1 -0
  83. package/dist/lib/compiler.d.ts +32 -0
  84. package/dist/lib/compiler.d.ts.map +1 -1
  85. package/dist/lib/compiler.js +150 -0
  86. package/dist/lib/compiler.js.map +1 -1
  87. package/dist/lib/config.d.ts +71 -35
  88. package/dist/lib/config.d.ts.map +1 -1
  89. package/dist/lib/config.js +334 -124
  90. package/dist/lib/config.js.map +1 -1
  91. package/dist/lib/decompile.d.ts +6 -1
  92. package/dist/lib/decompile.d.ts.map +1 -1
  93. package/dist/lib/decompile.js +120 -11
  94. package/dist/lib/decompile.js.map +1 -1
  95. package/dist/lib/hash.d.ts.map +1 -1
  96. package/dist/lib/hash.js +2 -19
  97. package/dist/lib/hash.js.map +1 -1
  98. package/dist/lib/heartbeat.d.ts +38 -0
  99. package/dist/lib/heartbeat.d.ts.map +1 -0
  100. package/dist/lib/heartbeat.js +70 -0
  101. package/dist/lib/heartbeat.js.map +1 -0
  102. package/dist/lib/host-link.d.ts +123 -0
  103. package/dist/lib/host-link.d.ts.map +1 -0
  104. package/dist/lib/host-link.js +350 -0
  105. package/dist/lib/host-link.js.map +1 -0
  106. package/dist/lib/merge.d.ts +50 -0
  107. package/dist/lib/merge.d.ts.map +1 -0
  108. package/dist/lib/merge.js +167 -0
  109. package/dist/lib/merge.js.map +1 -0
  110. package/dist/lib/onboarding.d.ts +17 -0
  111. package/dist/lib/onboarding.d.ts.map +1 -1
  112. package/dist/lib/onboarding.js +224 -207
  113. package/dist/lib/onboarding.js.map +1 -1
  114. package/dist/lib/project.d.ts +5 -0
  115. package/dist/lib/project.d.ts.map +1 -1
  116. package/dist/lib/project.js +8 -0
  117. package/dist/lib/project.js.map +1 -1
  118. package/dist/lib/projectContext.d.ts +201 -0
  119. package/dist/lib/projectContext.d.ts.map +1 -0
  120. package/dist/lib/projectContext.js +597 -0
  121. package/dist/lib/projectContext.js.map +1 -0
  122. package/dist/lib/render.d.ts +38 -1
  123. package/dist/lib/render.d.ts.map +1 -1
  124. package/dist/lib/render.js +83 -18
  125. package/dist/lib/render.js.map +1 -1
  126. package/dist/lib/skill-catalog.d.ts.map +1 -1
  127. package/dist/lib/skill-catalog.js +22 -2
  128. package/dist/lib/skill-catalog.js.map +1 -1
  129. package/dist/lib/skills.d.ts +20 -5
  130. package/dist/lib/skills.d.ts.map +1 -1
  131. package/dist/lib/skills.js +116 -58
  132. package/dist/lib/skills.js.map +1 -1
  133. package/dist/lib/stackEval.d.ts +87 -0
  134. package/dist/lib/stackEval.d.ts.map +1 -0
  135. package/dist/lib/stackEval.js +233 -0
  136. package/dist/lib/stackEval.js.map +1 -0
  137. package/dist/lib/stackImprove.d.ts +49 -0
  138. package/dist/lib/stackImprove.d.ts.map +1 -0
  139. package/dist/lib/stackImprove.js +313 -0
  140. package/dist/lib/stackImprove.js.map +1 -0
  141. package/dist/lib/stackInstall.d.ts +59 -0
  142. package/dist/lib/stackInstall.d.ts.map +1 -0
  143. package/dist/lib/stackInstall.js +162 -0
  144. package/dist/lib/stackInstall.js.map +1 -0
  145. package/dist/lib/stackSafety.d.ts +126 -0
  146. package/dist/lib/stackSafety.d.ts.map +1 -0
  147. package/dist/lib/stackSafety.js +486 -0
  148. package/dist/lib/stackSafety.js.map +1 -0
  149. package/dist/lib/stackUpdate.d.ts +44 -0
  150. package/dist/lib/stackUpdate.d.ts.map +1 -0
  151. package/dist/lib/stackUpdate.js +256 -0
  152. package/dist/lib/stackUpdate.js.map +1 -0
  153. package/dist/lib/stream.d.ts +116 -0
  154. package/dist/lib/stream.d.ts.map +1 -0
  155. package/dist/lib/stream.js +368 -0
  156. package/dist/lib/stream.js.map +1 -0
  157. package/dist/lib/youstack.d.ts +219 -0
  158. package/dist/lib/youstack.d.ts.map +1 -0
  159. package/dist/lib/youstack.js +1049 -0
  160. package/dist/lib/youstack.js.map +1 -0
  161. package/dist/mcp/registry.d.ts +133 -0
  162. package/dist/mcp/registry.d.ts.map +1 -0
  163. package/dist/mcp/registry.js +833 -0
  164. package/dist/mcp/registry.js.map +1 -0
  165. package/dist/mcp/server.d.ts +106 -5
  166. package/dist/mcp/server.d.ts.map +1 -1
  167. package/dist/mcp/server.js +851 -498
  168. package/dist/mcp/server.js.map +1 -1
  169. package/dist/postinstall.js +11 -2
  170. package/dist/postinstall.js.map +1 -1
  171. package/dist/you.d.ts +1 -0
  172. package/dist/you.js +40 -4
  173. package/dist/you.js.map +1 -1
  174. package/examples/youstack-bamfstack-public/docs/quickstart.md +34 -0
  175. package/examples/youstack-bamfstack-public/prompts/creator-draft-starter.md +15 -0
  176. package/examples/youstack-bamfstack-public/skills/bamfstack-start/SKILL.md +36 -0
  177. package/examples/youstack-bamfstack-public/tests/smoke.md +19 -0
  178. package/examples/youstack-bamfstack-public/workflows/creator-growth-workflow.md +22 -0
  179. package/examples/youstack-bamfstack-public/youstack.json +172 -0
  180. package/examples/youstack-personal/docs/quickstart.md +10 -0
  181. package/examples/youstack-personal/skills/youstack-start/SKILL.md +9 -0
  182. package/examples/youstack-personal/tests/smoke.md +9 -0
  183. package/examples/youstack-personal/workflows/startup.md +7 -0
  184. package/examples/youstack-personal/youstack.json +123 -0
  185. package/package.json +3 -3
  186. package/skills/claude-md-generator.md +1 -1
  187. package/skills/meta-improve.md +8 -3
  188. package/skills/proactive-context-fill.md +1 -1
  189. package/skills/youstack-maintainer.md +128 -0
  190. package/skills/youstack-start.md +78 -0
@@ -44,11 +44,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
44
44
  };
45
45
  Object.defineProperty(exports, "__esModule", { value: true });
46
46
  exports.compileBundle = compileBundle;
47
+ exports.buildSha256Manifest = buildSha256Manifest;
47
48
  exports.writeBundle = writeBundle;
49
+ exports.roundtripIdentity = roundtripIdentity;
48
50
  const fs = __importStar(require("fs"));
51
+ const os = __importStar(require("os"));
49
52
  const path = __importStar(require("path"));
53
+ const node_crypto_1 = require("node:crypto");
50
54
  const gray_matter_1 = __importDefault(require("gray-matter"));
51
55
  const config_1 = require("./config");
56
+ const canonical_json_1 = require("./canonical-json");
57
+ const decompile_1 = require("./decompile");
52
58
  // ─── Helpers ───────────────────────────────────────────────────────
53
59
  function simpleHash(content) {
54
60
  let hash = 0;
@@ -590,9 +596,153 @@ function compileBundle(bundleDir) {
590
596
  },
591
597
  };
592
598
  }
599
+ // ─── SHA-256 manifest ──────────────────────────────────────────────
600
+ /**
601
+ * Build a sha256 manifest from a compiled result.
602
+ * Sections are keyed by "<dir>/<slug>" (e.g. "profile/about").
603
+ * Each section hash is the sha256 of its normalized markdown content.
604
+ * full_sha is the sha256 of the canonical JSON string of you.json.
605
+ */
606
+ function buildSha256Manifest(result) {
607
+ const youJsonStr = (0, canonical_json_1.canonicalJsonString)(result.youJson);
608
+ const full_sha = (0, node_crypto_1.createHash)("sha256").update(youJsonStr, "utf-8").digest("hex");
609
+ const sections = {};
610
+ for (const entry of result.filesRead) {
611
+ const dirName = entry.type === "preference" ? "preferences"
612
+ : entry.type === "directive" ? "directives"
613
+ : entry.type === "voice" ? "voice"
614
+ : "profile";
615
+ const slug = path.basename(entry.file, ".md");
616
+ const sectionKey = `${dirName}/${slug}`;
617
+ // Read actual file content from bundleDir if available; stored hash computed from raw file bytes
618
+ // Since we don't store raw bytes in CompileResult, we use the youJson field that corresponds.
619
+ // For a stable hash, we hash the canonical section value from youJson.
620
+ const sectionValue = extractSectionValue(result.youJson, entry.type, slug);
621
+ sections[sectionKey] = (0, node_crypto_1.createHash)("sha256")
622
+ .update((0, canonical_json_1.canonicalJsonString)(sectionValue), "utf-8")
623
+ .digest("hex");
624
+ }
625
+ return { schema_version: 1, sections, full_sha };
626
+ }
627
+ /**
628
+ * Extract the logical value for a section from a compiled youJson, used for
629
+ * deterministic per-section hashing. Returns the structured value (not raw
630
+ * markdown) so the hash is stable across whitespace normalization.
631
+ */
632
+ function extractSectionValue(youJson, type, slug) {
633
+ const identity = youJson.identity || {};
634
+ const now = youJson.now || {};
635
+ const prefs = youJson.preferences || {};
636
+ const voice = youJson.voice || {};
637
+ const directives = youJson.agent_directives || {};
638
+ if (type === "profile") {
639
+ if (slug === "about")
640
+ return identity;
641
+ if (slug === "now")
642
+ return now.focus;
643
+ if (slug === "projects")
644
+ return youJson.projects;
645
+ if (slug === "values")
646
+ return youJson.values;
647
+ if (slug === "links")
648
+ return youJson.links;
649
+ // custom section
650
+ const customs = youJson.custom_sections || [];
651
+ return customs.find((s) => s.id === slug) ?? slug;
652
+ }
653
+ if (type === "preference") {
654
+ if (slug === "agent")
655
+ return prefs.agent;
656
+ if (slug === "writing")
657
+ return prefs.writing;
658
+ return slug;
659
+ }
660
+ if (type === "voice") {
661
+ if (slug === "voice")
662
+ return { overall: voice.overall, markdown: voice.markdown };
663
+ const platforms = voice.platforms || {};
664
+ const platform = slug.startsWith("voice.") ? slug.slice("voice.".length) : slug;
665
+ return platforms[platform] ?? slug;
666
+ }
667
+ if (type === "directive") {
668
+ if (slug === "agent")
669
+ return directives;
670
+ return slug;
671
+ }
672
+ return slug;
673
+ }
593
674
  function writeBundle(bundleDir, result) {
594
675
  fs.writeFileSync(path.join(bundleDir, "you.json"), JSON.stringify(result.youJson, null, 2) + "\n");
595
676
  fs.writeFileSync(path.join(bundleDir, "you.md"), result.markdown);
596
677
  fs.writeFileSync(path.join(bundleDir, "manifest.json"), JSON.stringify(result.manifest, null, 2) + "\n");
678
+ // T27: emit sha256 manifest adjacent to you.json
679
+ const sha256Manifest = buildSha256Manifest(result);
680
+ fs.writeFileSync(path.join(bundleDir, "manifest.sha256.json"), JSON.stringify(sha256Manifest, null, 2) + "\n");
681
+ }
682
+ // ─── Round-trip identity check ─────────────────────────────────────
683
+ /**
684
+ * Compile bundleDir, decompile the result into a temp dir, recompile the
685
+ * temp dir, and compare per-section values. Returns a list of mismatches.
686
+ *
687
+ * This is a semantic round-trip — whitespace normalization is applied so
688
+ * cosmetic differences in markdown formatting do not register as failures.
689
+ * The check covers: identity, now.focus, projects, values, links,
690
+ * preferences.agent (structured), preferences.writing (structured),
691
+ * voice.overall, agent_directives (structured).
692
+ */
693
+ function roundtripIdentity(bundleDir) {
694
+ const first = compileBundle(bundleDir);
695
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "youmd-rt-"));
696
+ try {
697
+ (0, decompile_1.decompileToFilesystem)(tmpDir, first.youJson);
698
+ const second = compileBundle(tmpDir);
699
+ const mismatches = [];
700
+ function check(key, a, b) {
701
+ const aStr = (0, canonical_json_1.canonicalJsonString)(normalizeValue(a));
702
+ const bStr = (0, canonical_json_1.canonicalJsonString)(normalizeValue(b));
703
+ if (aStr !== bStr) {
704
+ mismatches.push({ section: key, before: aStr, after: bStr });
705
+ }
706
+ }
707
+ const id1 = first.youJson.identity || {};
708
+ const id2 = second.youJson.identity || {};
709
+ check("identity.name", id1.name, id2.name);
710
+ check("identity.tagline", id1.tagline, id2.tagline);
711
+ check("identity.location", id1.location, id2.location);
712
+ check("identity.bio.long", id1.bio?.long, id2.bio?.long);
713
+ check("now.focus", first.youJson.now?.focus, second.youJson.now?.focus);
714
+ check("projects", first.youJson.projects, second.youJson.projects);
715
+ check("values", first.youJson.values, second.youJson.values);
716
+ check("links", first.youJson.links, second.youJson.links);
717
+ const p1 = first.youJson.preferences || {};
718
+ const p2 = second.youJson.preferences || {};
719
+ check("preferences.agent.tone", p1.agent?.tone, p2.agent?.tone);
720
+ check("preferences.agent.formality", p1.agent?.formality, p2.agent?.formality);
721
+ check("preferences.agent.avoid", p1.agent?.avoid, p2.agent?.avoid);
722
+ check("preferences.writing.style", p1.writing?.style, p2.writing?.style);
723
+ check("preferences.writing.format", p1.writing?.format, p2.writing?.format);
724
+ check("voice.overall", first.youJson.voice?.overall, second.youJson.voice?.overall);
725
+ const d1 = first.youJson.agent_directives || {};
726
+ const d2 = second.youJson.agent_directives || {};
727
+ check("agent_directives.communication_style", d1.communication_style, d2.communication_style);
728
+ check("agent_directives.negative_prompts", d1.negative_prompts, d2.negative_prompts);
729
+ check("agent_directives.default_stack", d1.default_stack, d2.default_stack);
730
+ return { ok: mismatches.length === 0, mismatches };
731
+ }
732
+ finally {
733
+ fs.rmSync(tmpDir, { recursive: true, force: true });
734
+ }
735
+ }
736
+ /** Normalize a value for round-trip comparison (trim strings, sort arrays of strings). */
737
+ function normalizeValue(v) {
738
+ if (typeof v === "string")
739
+ return v.trim();
740
+ if (Array.isArray(v))
741
+ return v.map(normalizeValue);
742
+ if (v !== null && typeof v === "object") {
743
+ const rec = v;
744
+ return Object.fromEntries(Object.keys(rec).sort().map((k) => [k, normalizeValue(rec[k])]));
745
+ }
746
+ return v;
597
747
  }
598
748
  //# sourceMappingURL=compiler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/lib/compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../src/lib/compiler.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export interface LocalConfig {
21
21
  lastPulledHash?: string;
22
22
  lastPushedHash?: string;
23
23
  localContentHash?: string;
24
+ lastPulledStableHash?: string;
24
25
  }
25
26
  export declare function getGlobalConfigDir(): string;
26
27
  export declare function getHomeBundleDir(): string;
@@ -29,10 +30,63 @@ export declare function getLocalBundleDir(): string;
29
30
  export declare function getBundleConfigPath(bundleDir: string): string;
30
31
  export declare function bundleLooksInitialized(bundleDir: string): boolean;
31
32
  export declare function resolveActiveBundleDir(): string | null;
33
+ export interface BundleDirResolution {
34
+ /** The bundle directory pull/push/sync should operate on. */
35
+ dir: string;
36
+ scope: "home" | "local";
37
+ /** Why this scope was chosen. */
38
+ reason: "flag" | "marker" | "default" | "home-is-cwd";
39
+ /** Whether an initialized project-local .youmd/ exists in cwd. */
40
+ localBundlePresent: boolean;
41
+ }
42
+ export declare function getLocalBundleMarkerPath(bundleDir: string): string;
43
+ export declare function hasLocalBundleMarker(bundleDir: string): boolean;
44
+ export declare function isHomeBundleDir(bundleDir: string): boolean;
45
+ /**
46
+ * Mark a project-local .youmd/ as a deliberate local bundle. Idempotent.
47
+ * Never marks the home bundle dir — home needs no marker.
48
+ */
49
+ export declare function markLocalBundle(bundleDir: string): void;
50
+ /**
51
+ * Resolve the bundle dir for identity sync operations (pull/push/sync).
52
+ *
53
+ * Home-first: defaults to ~/.youmd/. A project-local .youmd/ is used only
54
+ * when explicitly requested (--local) or deliberately marked
55
+ * (.youmd/youmd.local.json). When cwd IS the home directory, local and home
56
+ * are the same dir.
57
+ */
58
+ export declare function resolveSyncBundleDir(options?: {
59
+ local?: boolean;
60
+ }): BundleDirResolution;
61
+ /**
62
+ * One-line notice explaining which bundle root is in use and how to target
63
+ * the other. Returns null when there is nothing ambiguous to explain.
64
+ * Callers print it dim — this stays plain text so it is unit-testable.
65
+ */
66
+ export declare function bundleResolutionNotice(res: BundleDirResolution): string | null;
67
+ /** Walk up from startDir looking for a .git directory. */
68
+ export declare function findGitRoot(startDir: string): string | null;
69
+ /**
70
+ * Ensure the repo containing a project-local .youmd/ gitignores it, so
71
+ * identity data is never silently committed. Appends `.youmd/` when a
72
+ * .gitignore exists without coverage; creates one at the git root when the
73
+ * repo has none; no-ops outside a git repo or when already covered.
74
+ */
75
+ export declare function ensureYoumdGitignored(bundleDir: string): "appended" | "created" | "covered" | "no-repo";
76
+ export declare function getEnvApiKey(): string | undefined;
77
+ export declare function getEnvApiUrl(): string | undefined;
78
+ /** Resolve the auth token: YOUMD_API_KEY env var first, then config file. */
79
+ export declare function getAuthToken(): string | undefined;
32
80
  export declare function getConvexSiteUrl(): string;
33
81
  export declare function getAppUrl(): string;
34
82
  export declare function getDefaultConvexSiteUrl(): string;
35
83
  export declare function getDefaultAppUrl(): string;
84
+ /**
85
+ * Write JSON to a file atomically: write to a tmp file in the same
86
+ * directory, then rename over the target (atomic on the same volume).
87
+ * Prevents partial/corrupt files when parallel agents write concurrently.
88
+ */
89
+ export declare function writeJsonAtomic(file: string, data: unknown, mode?: number): void;
36
90
  export declare function readGlobalConfig(): GlobalConfig;
37
91
  export declare function writeGlobalConfig(config: GlobalConfig): void;
38
92
  export declare function clearGlobalAuth(options?: {
@@ -41,6 +95,13 @@ export declare function clearGlobalAuth(options?: {
41
95
  export declare function readLocalConfig(): LocalConfig | null;
42
96
  export declare function readBundleConfig(bundleDir: string): LocalConfig | null;
43
97
  export declare function writeLocalConfig(config: LocalConfig): void;
98
+ /**
99
+ * Bundle-dir-aware twin of writeLocalConfig (T7). Same lock + atomic-rename
100
+ * write path; at the home bundle dir this file (~/.youmd/config.json) also
101
+ * carries GlobalConfig fields — callers must read-modify-write via
102
+ * readBundleConfig so those fields are preserved.
103
+ */
104
+ export declare function writeBundleConfig(bundleDir: string, config: LocalConfig): void;
44
105
  export declare function localBundleExists(): boolean;
45
106
  export declare function isAuthenticated(): boolean;
46
107
  export interface YoumdProjectFile {
@@ -56,37 +117,19 @@ export interface ProjectContext {
56
117
  }
57
118
  /**
58
119
  * Walk up from cwd looking for project markers.
120
+ *
121
+ * Nearest-marker-wins: the first directory (walking up from cwd) that
122
+ * contains ANY marker is the project root. Marker priority only breaks
123
+ * ties between markers at that same depth. This prevents a stray
124
+ * `.youmd-project` high in the tree (e.g. ~/Desktop) from outranking the
125
+ * nested repo the user is actually working in.
126
+ *
127
+ * The home directory itself is never treated as a project root — dotfiles
128
+ * and stray Makefiles in ~ are not a project.
129
+ *
59
130
  * Returns project context if found, null otherwise.
60
131
  */
61
132
  export declare function detectProjectContext(): ProjectContext | null;
62
- /**
63
- * Get the global .youmd/projects/{project-name}/ directory for project-specific files.
64
- */
65
- export declare function getProjectBundleDir(projectName: string): string;
66
- /**
67
- * Get the private context directory for a project.
68
- */
69
- export declare function getProjectPrivateDir(projectName: string): string;
70
- /**
71
- * Ensure the project bundle directory structure exists.
72
- */
73
- export declare function ensureProjectDirs(projectName: string): string;
74
- /**
75
- * Read project-specific private notes from .youmd/projects/{name}/private/notes.md
76
- */
77
- export declare function readProjectPrivateNotes(projectName: string): string | null;
78
- /**
79
- * Write project-specific private notes.
80
- */
81
- export declare function writeProjectPrivateNotes(projectName: string, content: string): void;
82
- /**
83
- * Read project-specific config/context from .youmd/projects/{name}/context.json
84
- */
85
- export declare function readProjectContext(projectName: string): Record<string, unknown> | null;
86
- /**
87
- * Write project-specific context.
88
- */
89
- export declare function writeProjectContext(projectName: string, context: Record<string, unknown>): void;
90
133
  /**
91
134
  * Global skills directory: ~/.youmd/skills/
92
135
  */
@@ -107,11 +150,4 @@ export declare function getProjectSkillsDir(): string;
107
150
  * Ensure the global skills directory exists.
108
151
  */
109
152
  export declare function ensureSkillsDir(): string;
110
- /**
111
- * List all known projects from .youmd/projects/
112
- */
113
- export declare function listProjects(): Array<{
114
- name: string;
115
- dir: string;
116
- }>;
117
153
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAMjE;AAED,wBAAgB,sBAAsB,IAAI,MAAM,GAAG,IAAI,CAQtD;AAaD,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,iCAAiC;IACjC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAC;IACtD,kEAAkE;IAClE,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE/D;AAoBD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAOvD;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,mBAAmB,CAiB3F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CAS9E;AAID,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQ3D;AAcD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,GAChB,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAoBhD;AAOD,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAGjD;AAED,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAGjD;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAEjD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAKzC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAGlC;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAEhD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAID;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,SAAQ,GAAG,IAAI,CAS/E;AAyDD,wBAAgB,gBAAgB,IAAI,YAAY,CA0B/C;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAW5D;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,IAAI,CAahF;AAED,wBAAgB,eAAe,IAAI,WAAW,GAAG,IAAI,CAWpD;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAWtE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAS9E;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAID,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAYD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,GAAG,IAAI,CAwC5D;AAoDD;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAMxC"}