youmd 0.4.4 → 0.5.0

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 (85) hide show
  1. package/dist/commands/build.d.ts.map +1 -1
  2. package/dist/commands/build.js +27 -5
  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 +47 -7
  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 +30 -0
  9. package/dist/commands/init.js.map +1 -1
  10. package/dist/commands/link.js +1 -1
  11. package/dist/commands/link.js.map +1 -1
  12. package/dist/commands/login.d.ts.map +1 -1
  13. package/dist/commands/login.js +150 -24
  14. package/dist/commands/login.js.map +1 -1
  15. package/dist/commands/preview.js +1 -1
  16. package/dist/commands/preview.js.map +1 -1
  17. package/dist/commands/publish.d.ts.map +1 -1
  18. package/dist/commands/publish.js +66 -4
  19. package/dist/commands/publish.js.map +1 -1
  20. package/dist/commands/pull.d.ts.map +1 -1
  21. package/dist/commands/pull.js +68 -4
  22. package/dist/commands/pull.js.map +1 -1
  23. package/dist/commands/push.d.ts +1 -0
  24. package/dist/commands/push.d.ts.map +1 -1
  25. package/dist/commands/push.js +120 -2
  26. package/dist/commands/push.js.map +1 -1
  27. package/dist/commands/register.d.ts.map +1 -1
  28. package/dist/commands/register.js +174 -39
  29. package/dist/commands/register.js.map +1 -1
  30. package/dist/commands/skill.d.ts +8 -0
  31. package/dist/commands/skill.d.ts.map +1 -0
  32. package/dist/commands/skill.js +1150 -0
  33. package/dist/commands/skill.js.map +1 -0
  34. package/dist/commands/status.d.ts.map +1 -1
  35. package/dist/commands/status.js +118 -2
  36. package/dist/commands/status.js.map +1 -1
  37. package/dist/commands/sync.d.ts.map +1 -1
  38. package/dist/commands/sync.js +12 -0
  39. package/dist/commands/sync.js.map +1 -1
  40. package/dist/commands/whoami.d.ts.map +1 -1
  41. package/dist/commands/whoami.js +16 -11
  42. package/dist/commands/whoami.js.map +1 -1
  43. package/dist/index.js +12 -3
  44. package/dist/index.js.map +1 -1
  45. package/dist/lib/api.d.ts +88 -5
  46. package/dist/lib/api.d.ts.map +1 -1
  47. package/dist/lib/api.js +56 -2
  48. package/dist/lib/api.js.map +1 -1
  49. package/dist/lib/ascii.d.ts +14 -0
  50. package/dist/lib/ascii.d.ts.map +1 -0
  51. package/dist/lib/ascii.js +108 -0
  52. package/dist/lib/ascii.js.map +1 -0
  53. package/dist/lib/config.d.ts +26 -0
  54. package/dist/lib/config.d.ts.map +1 -1
  55. package/dist/lib/config.js +40 -0
  56. package/dist/lib/config.js.map +1 -1
  57. package/dist/lib/hash.d.ts +3 -0
  58. package/dist/lib/hash.d.ts.map +1 -0
  59. package/dist/lib/hash.js +31 -0
  60. package/dist/lib/hash.js.map +1 -0
  61. package/dist/lib/onboarding.d.ts +1 -1
  62. package/dist/lib/onboarding.d.ts.map +1 -1
  63. package/dist/lib/onboarding.js +227 -85
  64. package/dist/lib/onboarding.js.map +1 -1
  65. package/dist/lib/render.d.ts +4 -2
  66. package/dist/lib/render.d.ts.map +1 -1
  67. package/dist/lib/render.js +81 -9
  68. package/dist/lib/render.js.map +1 -1
  69. package/dist/lib/skill-catalog.d.ts +57 -0
  70. package/dist/lib/skill-catalog.d.ts.map +1 -0
  71. package/dist/lib/skill-catalog.js +196 -0
  72. package/dist/lib/skill-catalog.js.map +1 -0
  73. package/dist/lib/skill-renderer.d.ts +55 -0
  74. package/dist/lib/skill-renderer.d.ts.map +1 -0
  75. package/dist/lib/skill-renderer.js +364 -0
  76. package/dist/lib/skill-renderer.js.map +1 -0
  77. package/dist/lib/skills.d.ts +125 -0
  78. package/dist/lib/skills.d.ts.map +1 -0
  79. package/dist/lib/skills.js +677 -0
  80. package/dist/lib/skills.js.map +1 -0
  81. package/package.json +8 -4
  82. package/skills/claude-md-generator.md +66 -0
  83. package/skills/meta-improve.md +57 -0
  84. package/skills/project-context-init.md +51 -0
  85. package/skills/voice-sync.md +41 -0
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Skill engine — install, remove, resolve, sync, link.
3
+ *
4
+ * Manages the lifecycle of skills from the catalog to the filesystem.
5
+ * Skills are SKILL.md files with identity-aware template variables.
6
+ */
7
+ import { checkTemplateReadiness } from "./skill-renderer";
8
+ /**
9
+ * Get the directory for an installed skill.
10
+ */
11
+ export declare function getSkillDir(skillName: string): string;
12
+ /**
13
+ * Get the SKILL.md path for an installed skill.
14
+ */
15
+ export declare function getSkillPath(skillName: string): string;
16
+ /**
17
+ * Read a skill's SKILL.md content and frontmatter.
18
+ */
19
+ export declare function readSkillFile(skillName: string): {
20
+ content: string;
21
+ metadata: Record<string, unknown>;
22
+ } | null;
23
+ /**
24
+ * Resolve a skill source to its raw markdown content.
25
+ *
26
+ * Supported sources:
27
+ * bundled:path/to/file.md — relative to repo root
28
+ * local:/absolute/path.md — local filesystem
29
+ * github:owner/repo/path — (future) GitHub raw content
30
+ */
31
+ export declare function resolveSkillSource(source: string): string | null;
32
+ /**
33
+ * Async source resolver — handles remote sources (GitHub).
34
+ *
35
+ * github:owner/repo/path → https://raw.githubusercontent.com/owner/repo/main/path
36
+ * Also supports full https:// URLs to raw markdown files.
37
+ */
38
+ export declare function resolveSkillSourceAsync(source: string): Promise<string | null>;
39
+ /**
40
+ * Install a skill from its source to ~/.youmd/skills/<name>/SKILL.md.
41
+ * Uses sync resolution for local/bundled, falls back to async for remote.
42
+ */
43
+ export declare function installSkill(skillName: string): {
44
+ ok: boolean;
45
+ error?: string;
46
+ };
47
+ /**
48
+ * Async install — handles remote sources (GitHub, HTTPS URLs).
49
+ */
50
+ export declare function installSkillAsync(skillName: string): Promise<{
51
+ ok: boolean;
52
+ error?: string;
53
+ }>;
54
+ /**
55
+ * Remove an installed skill.
56
+ */
57
+ export declare function removeSkill(skillName: string): {
58
+ ok: boolean;
59
+ error?: string;
60
+ };
61
+ /**
62
+ * Use a skill — render it with current identity data.
63
+ * Returns the rendered content.
64
+ */
65
+ export declare function useSkill(skillName: string): {
66
+ ok: boolean;
67
+ content?: string;
68
+ readiness?: ReturnType<typeof checkTemplateReadiness>;
69
+ error?: string;
70
+ };
71
+ /**
72
+ * Re-interpolate all installed skills against current identity data.
73
+ */
74
+ export declare function syncAllSkills(): {
75
+ synced: string[];
76
+ errors: string[];
77
+ };
78
+ /**
79
+ * Sync only skills affected by specific identity field changes.
80
+ */
81
+ export declare function syncAffectedSkills(changedFields: string[]): {
82
+ synced: string[];
83
+ errors: string[];
84
+ };
85
+ export type AgentTarget = "claude" | "cursor" | "codex";
86
+ /**
87
+ * Link installed skills to an agent's directory.
88
+ *
89
+ * claude → .claude/skills/youmd/
90
+ * cursor → .cursor/rules/youmd.md (single file concatenation)
91
+ * codex → .codex/skills/youmd/
92
+ */
93
+ export declare function linkToAgent(target: AgentTarget): {
94
+ ok: boolean;
95
+ path?: string;
96
+ error?: string;
97
+ };
98
+ /**
99
+ * Initialize a project with skills: install core skills, generate CLAUDE.md,
100
+ * scaffold project-context/, and link to .claude/skills/.
101
+ */
102
+ export declare function initProject(): {
103
+ ok: boolean;
104
+ steps: Array<{
105
+ name: string;
106
+ ok: boolean;
107
+ detail?: string;
108
+ }>;
109
+ };
110
+ interface SkillMetrics {
111
+ skills: Record<string, {
112
+ uses: number;
113
+ installs: number;
114
+ lastUsed: string;
115
+ lastInstalled?: string;
116
+ }>;
117
+ identityFields: Record<string, {
118
+ references: number;
119
+ }>;
120
+ lastUpdated: string;
121
+ }
122
+ export declare function trackSkillEvent(skillName: string, event: "use" | "install" | "remove"): void;
123
+ export declare function getMetrics(): SkillMetrics;
124
+ export {};
125
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"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"}