youmd 0.8.0 → 0.8.5

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 (121) hide show
  1. package/dist/commands/chat.d.ts.map +1 -1
  2. package/dist/commands/chat.js +20 -2
  3. package/dist/commands/chat.js.map +1 -1
  4. package/dist/commands/env.d.ts +21 -4
  5. package/dist/commands/env.d.ts.map +1 -1
  6. package/dist/commands/env.js +250 -24
  7. package/dist/commands/env.js.map +1 -1
  8. package/dist/commands/login.d.ts +1 -0
  9. package/dist/commands/login.d.ts.map +1 -1
  10. package/dist/commands/login.js +20 -4
  11. package/dist/commands/login.js.map +1 -1
  12. package/dist/commands/machine.d.ts +28 -1
  13. package/dist/commands/machine.d.ts.map +1 -1
  14. package/dist/commands/machine.js +529 -4
  15. package/dist/commands/machine.js.map +1 -1
  16. package/dist/commands/project.d.ts.map +1 -1
  17. package/dist/commands/project.js +862 -17
  18. package/dist/commands/project.js.map +1 -1
  19. package/dist/commands/prompts.d.ts +19 -0
  20. package/dist/commands/prompts.d.ts.map +1 -1
  21. package/dist/commands/prompts.js +304 -1
  22. package/dist/commands/prompts.js.map +1 -1
  23. package/dist/commands/pull.d.ts.map +1 -1
  24. package/dist/commands/pull.js +28 -8
  25. package/dist/commands/pull.js.map +1 -1
  26. package/dist/commands/push.d.ts +3 -1
  27. package/dist/commands/push.d.ts.map +1 -1
  28. package/dist/commands/push.js +26 -12
  29. package/dist/commands/push.js.map +1 -1
  30. package/dist/commands/skill.d.ts.map +1 -1
  31. package/dist/commands/skill.js +19 -15
  32. package/dist/commands/skill.js.map +1 -1
  33. package/dist/commands/stack.d.ts.map +1 -1
  34. package/dist/commands/stack.js +20 -17
  35. package/dist/commands/stack.js.map +1 -1
  36. package/dist/commands/status.d.ts.map +1 -1
  37. package/dist/commands/status.js +38 -0
  38. package/dist/commands/status.js.map +1 -1
  39. package/dist/commands/sync.d.ts +2 -0
  40. package/dist/commands/sync.d.ts.map +1 -1
  41. package/dist/commands/sync.js +235 -2
  42. package/dist/commands/sync.js.map +1 -1
  43. package/dist/index.js +157 -31
  44. package/dist/index.js.map +1 -1
  45. package/dist/lib/api.d.ts +398 -0
  46. package/dist/lib/api.d.ts.map +1 -1
  47. package/dist/lib/api.js +104 -0
  48. package/dist/lib/api.js.map +1 -1
  49. package/dist/lib/daemon.d.ts +26 -0
  50. package/dist/lib/daemon.d.ts.map +1 -0
  51. package/dist/lib/daemon.js +187 -0
  52. package/dist/lib/daemon.js.map +1 -0
  53. package/dist/lib/first-run.d.ts +1 -1
  54. package/dist/lib/first-run.d.ts.map +1 -1
  55. package/dist/lib/first-run.js +8 -0
  56. package/dist/lib/first-run.js.map +1 -1
  57. package/dist/lib/machine-bootstrap-prompt.d.ts +17 -0
  58. package/dist/lib/machine-bootstrap-prompt.d.ts.map +1 -0
  59. package/dist/lib/machine-bootstrap-prompt.js +426 -0
  60. package/dist/lib/machine-bootstrap-prompt.js.map +1 -0
  61. package/dist/lib/machine-projects.d.ts +71 -0
  62. package/dist/lib/machine-projects.d.ts.map +1 -0
  63. package/dist/lib/machine-projects.js +510 -0
  64. package/dist/lib/machine-projects.js.map +1 -0
  65. package/dist/lib/machine-verify.d.ts +175 -0
  66. package/dist/lib/machine-verify.d.ts.map +1 -0
  67. package/dist/lib/machine-verify.js +684 -0
  68. package/dist/lib/machine-verify.js.map +1 -0
  69. package/dist/lib/portfolio-audit.d.ts +34 -0
  70. package/dist/lib/portfolio-audit.d.ts.map +1 -0
  71. package/dist/lib/portfolio-audit.js +254 -0
  72. package/dist/lib/portfolio-audit.js.map +1 -0
  73. package/dist/lib/portfolio-graph.d.ts +104 -0
  74. package/dist/lib/portfolio-graph.d.ts.map +1 -0
  75. package/dist/lib/portfolio-graph.js +281 -0
  76. package/dist/lib/portfolio-graph.js.map +1 -0
  77. package/dist/lib/project-strategy.d.ts +45 -0
  78. package/dist/lib/project-strategy.d.ts.map +1 -0
  79. package/dist/lib/project-strategy.js +234 -0
  80. package/dist/lib/project-strategy.js.map +1 -0
  81. package/dist/lib/realtime-sync.d.ts +128 -0
  82. package/dist/lib/realtime-sync.d.ts.map +1 -0
  83. package/dist/lib/realtime-sync.js +215 -0
  84. package/dist/lib/realtime-sync.js.map +1 -0
  85. package/dist/lib/reusable-patterns.d.ts +30 -0
  86. package/dist/lib/reusable-patterns.d.ts.map +1 -0
  87. package/dist/lib/reusable-patterns.js +375 -0
  88. package/dist/lib/reusable-patterns.js.map +1 -0
  89. package/dist/lib/skill-catalog.d.ts.map +1 -1
  90. package/dist/lib/skill-catalog.js +20 -0
  91. package/dist/lib/skill-catalog.js.map +1 -1
  92. package/dist/lib/skills.d.ts +1 -0
  93. package/dist/lib/skills.d.ts.map +1 -1
  94. package/dist/lib/skills.js +43 -13
  95. package/dist/lib/skills.js.map +1 -1
  96. package/dist/lib/version.d.ts +2 -0
  97. package/dist/lib/version.d.ts.map +1 -0
  98. package/dist/lib/version.js +63 -0
  99. package/dist/lib/version.js.map +1 -0
  100. package/dist/mcp/registry.d.ts +5 -1
  101. package/dist/mcp/registry.d.ts.map +1 -1
  102. package/dist/mcp/registry.js +426 -2
  103. package/dist/mcp/registry.js.map +1 -1
  104. package/dist/mcp/server.d.ts +2 -0
  105. package/dist/mcp/server.d.ts.map +1 -1
  106. package/dist/mcp/server.js +50 -5
  107. package/dist/mcp/server.js.map +1 -1
  108. package/package.json +2 -1
  109. package/scripts/env-vault/README.md +21 -2
  110. package/scripts/env-vault/backup.sh +24 -1
  111. package/scripts/env-vault/restore.sh +123 -8
  112. package/scripts/skillstack-sync/README.md +35 -10
  113. package/scripts/skillstack-sync/bootstrap-new-mac.sh +31 -0
  114. package/scripts/skillstack-sync/capture-agent-config.sh +1 -0
  115. package/scripts/skillstack-sync/com.youmd.context-sync.plist +38 -0
  116. package/scripts/skillstack-sync/com.youmd.identity-sync.plist +3 -1
  117. package/scripts/skillstack-sync/com.youmd.realtime-sync.plist +35 -0
  118. package/scripts/skillstack-sync/com.youmd.skillstack-sync.plist +1 -1
  119. package/scripts/skillstack-sync/context-sync.sh +69 -1
  120. package/scripts/skillstack-sync/install-daemons.sh +10 -3
  121. package/skills/machine-bootstrap.md +312 -0
@@ -0,0 +1,175 @@
1
+ export declare const DEFAULT_MACHINE_CHECK_SCRIPTS: string[];
2
+ export declare const DEFAULT_MACHINE_SERVER_START_PORT = 4310;
3
+ export interface MachineRunCheckResult {
4
+ dirName: string;
5
+ projectDir: string;
6
+ script: string;
7
+ command: string;
8
+ status: "passed" | "failed" | "timeout" | "skipped";
9
+ exitCode?: number | null;
10
+ durationMs: number;
11
+ outputTail?: string;
12
+ reason?: string;
13
+ }
14
+ export interface MachineInstallResult {
15
+ dirName: string;
16
+ projectDir: string;
17
+ command: string;
18
+ status: "passed" | "failed" | "timeout" | "skipped";
19
+ exitCode?: number | null;
20
+ durationMs: number;
21
+ outputTail?: string;
22
+ reason?: string;
23
+ }
24
+ export interface MachineServerProbeResult {
25
+ dirName: string;
26
+ projectDir: string;
27
+ command: string;
28
+ url: string;
29
+ status: "passed" | "failed" | "timeout" | "skipped";
30
+ statusCode?: number;
31
+ durationMs: number;
32
+ outputTail?: string;
33
+ reason?: string;
34
+ }
35
+ export interface MachineProjectReadiness {
36
+ dirName: string;
37
+ projectDir: string;
38
+ isDirectory: boolean;
39
+ isGitRepo: boolean;
40
+ remoteUrl?: string;
41
+ hasAgentDocs: boolean;
42
+ hasProjectContext: boolean;
43
+ hasEnvLocal: boolean;
44
+ hasEnvExample: boolean;
45
+ packageManager?: "npm" | "pnpm" | "yarn" | "bun";
46
+ scripts: string[];
47
+ suggestedChecks: string[];
48
+ status: "ready" | "needs-env" | "partial" | "docs-only" | "empty";
49
+ notes: string[];
50
+ }
51
+ export interface MachineReadinessReport {
52
+ rootDir: string;
53
+ scanned: number;
54
+ projects: MachineProjectReadiness[];
55
+ totals: {
56
+ gitRepos: number;
57
+ packageProjects: number;
58
+ envLocal: number;
59
+ envExample: number;
60
+ agentDocs: number;
61
+ projectContext: number;
62
+ ready: number;
63
+ needsEnv: number;
64
+ partial: number;
65
+ };
66
+ }
67
+ export interface MachineRunChecksReport {
68
+ rootDir: string;
69
+ requestedScripts: string[];
70
+ timeoutMs: number;
71
+ maxProjects: number;
72
+ results: MachineRunCheckResult[];
73
+ totals: {
74
+ passed: number;
75
+ failed: number;
76
+ timeout: number;
77
+ skipped: number;
78
+ };
79
+ }
80
+ export interface MachineInstallReport {
81
+ rootDir: string;
82
+ timeoutMs: number;
83
+ maxProjects: number;
84
+ results: MachineInstallResult[];
85
+ totals: {
86
+ passed: number;
87
+ failed: number;
88
+ timeout: number;
89
+ skipped: number;
90
+ };
91
+ }
92
+ export interface MachineServerProbeReport {
93
+ rootDir: string;
94
+ timeoutMs: number;
95
+ maxProjects: number;
96
+ startPort: number;
97
+ results: MachineServerProbeResult[];
98
+ totals: {
99
+ passed: number;
100
+ failed: number;
101
+ timeout: number;
102
+ skipped: number;
103
+ };
104
+ }
105
+ export interface MachineVerificationProof {
106
+ schemaVersion: 1;
107
+ generatedAt: string;
108
+ hostName: string;
109
+ platform: string;
110
+ rootDir: string;
111
+ secretValuesExposed: false;
112
+ readiness: MachineReadinessReport;
113
+ installs?: MachineInstallReport;
114
+ checks?: MachineRunChecksReport;
115
+ servers?: MachineServerProbeReport;
116
+ summary: {
117
+ status: "ready" | "warn" | "failed";
118
+ scanned: number;
119
+ ready: number;
120
+ needsEnv: number;
121
+ partial: number;
122
+ installPassed: number;
123
+ checksPassed: number;
124
+ serversPassed: number;
125
+ failures: number;
126
+ warnings: string[];
127
+ };
128
+ }
129
+ export interface MachineVerificationProofWriteResult {
130
+ latestPath: string;
131
+ archivedPath: string;
132
+ }
133
+ export declare function inspectMachineProject(projectDir: string): MachineProjectReadiness;
134
+ export declare function buildMachineReadinessReport(rootDir: string, maxProjects?: number): MachineReadinessReport;
135
+ export declare function runMachineProjectChecks(projects: MachineProjectReadiness[], options?: {
136
+ scripts?: string[];
137
+ timeoutMs?: number;
138
+ maxProjects?: number;
139
+ }): MachineRunCheckResult[];
140
+ export declare function runMachineDependencyInstalls(projects: MachineProjectReadiness[], options?: {
141
+ timeoutMs?: number;
142
+ maxProjects?: number;
143
+ }): MachineInstallResult[];
144
+ export declare function runMachineServerProbes(projects: MachineProjectReadiness[], options?: {
145
+ timeoutMs?: number;
146
+ maxProjects?: number;
147
+ startPort?: number;
148
+ }): Promise<MachineServerProbeResult[]>;
149
+ export declare function buildMachineRunChecksReport(rootDir: string, options?: {
150
+ scripts?: string[];
151
+ timeoutMs?: number;
152
+ maxProjects?: number;
153
+ scanLimit?: number;
154
+ }): MachineRunChecksReport;
155
+ export declare function buildMachineInstallReport(rootDir: string, options?: {
156
+ timeoutMs?: number;
157
+ maxProjects?: number;
158
+ scanLimit?: number;
159
+ }): MachineInstallReport;
160
+ export declare function buildMachineServerProbeReport(rootDir: string, options?: {
161
+ timeoutMs?: number;
162
+ maxProjects?: number;
163
+ scanLimit?: number;
164
+ startPort?: number;
165
+ }): Promise<MachineServerProbeReport>;
166
+ export declare function buildMachineVerificationProof(options: {
167
+ readiness: MachineReadinessReport;
168
+ installs?: MachineInstallReport;
169
+ checks?: MachineRunChecksReport;
170
+ servers?: MachineServerProbeReport;
171
+ generatedAt?: string;
172
+ }): MachineVerificationProof;
173
+ export declare function defaultMachineReportPath(): string;
174
+ export declare function writeMachineVerificationProof(proof: MachineVerificationProof, reportPath?: string): MachineVerificationProofWriteResult;
175
+ //# sourceMappingURL=machine-verify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-verify.d.ts","sourceRoot":"","sources":["../../src/lib/machine-verify.ts"],"names":[],"mappings":"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"}