youmd 0.3.0 → 0.3.1

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.
@@ -0,0 +1,2 @@
1
+ export declare function pullCommand(): Promise<void>;
2
+ //# sourceMappingURL=pull.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAMA,wBAAsB,WAAW,kBAwLhC"}
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.pullCommand = pullCommand;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const chalk_1 = __importDefault(require("chalk"));
43
+ const api_1 = require("../lib/api");
44
+ const config_1 = require("../lib/config");
45
+ async function pullCommand() {
46
+ const config = (0, config_1.readGlobalConfig)();
47
+ if (!config.token) {
48
+ console.log(chalk_1.default.hex("#C46A3A")(" not authenticated. run: youmd login"));
49
+ return;
50
+ }
51
+ if (!config.username) {
52
+ console.log(chalk_1.default.hex("#C46A3A")(" no username configured. run: youmd login"));
53
+ return;
54
+ }
55
+ const username = config.username;
56
+ console.log(chalk_1.default.dim(` pulling profile for @${username}...`));
57
+ // Fetch the published profile from the API
58
+ const profile = await (0, api_1.getPublicProfile)(username);
59
+ if (!profile || !profile.youJson) {
60
+ console.log(chalk_1.default.hex("#C46A3A")(" no published bundle found on you.md"));
61
+ console.log(chalk_1.default.dim(" publish your local bundle first: youmd build && youmd publish"));
62
+ return;
63
+ }
64
+ const bundleDir = (0, config_1.getLocalBundleDir)();
65
+ // Create directories if needed
66
+ const profileDir = path.join(bundleDir, "profile");
67
+ const prefsDir = path.join(bundleDir, "preferences");
68
+ const voiceDir = path.join(bundleDir, "voice");
69
+ fs.mkdirSync(profileDir, { recursive: true });
70
+ fs.mkdirSync(prefsDir, { recursive: true });
71
+ fs.mkdirSync(voiceDir, { recursive: true });
72
+ const youJson = profile.youJson;
73
+ const identity = youJson.identity || {};
74
+ const bio = identity.bio || {};
75
+ const now = youJson.now || {};
76
+ const projects = youJson.projects || [];
77
+ const values = youJson.values || [];
78
+ const links = youJson.links || {};
79
+ const prefs = youJson.preferences || {};
80
+ const analysis = youJson.analysis || {};
81
+ const voice = youJson.voice || {};
82
+ let filesWritten = 0;
83
+ // Write profile/about.md
84
+ if (bio.long || bio.medium || bio.short || identity.name) {
85
+ const aboutContent = `---
86
+ title: "About"
87
+ ---
88
+
89
+ # ${identity.name || username}
90
+
91
+ ${bio.long || bio.medium || bio.short || ""}
92
+ `;
93
+ fs.writeFileSync(path.join(profileDir, "about.md"), aboutContent);
94
+ filesWritten++;
95
+ console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" profile/about.md"));
96
+ }
97
+ // Write profile/now.md
98
+ const focus = now.focus || [];
99
+ if (focus.length > 0) {
100
+ const nowContent = `---
101
+ title: "Now"
102
+ ---
103
+
104
+ ${focus.map((f) => `- ${f}`).join("\n")}
105
+ `;
106
+ fs.writeFileSync(path.join(profileDir, "now.md"), nowContent);
107
+ filesWritten++;
108
+ console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" profile/now.md"));
109
+ }
110
+ // Write profile/projects.md
111
+ if (projects.length > 0) {
112
+ const projectsContent = `---
113
+ title: "Projects"
114
+ ---
115
+
116
+ ${projects.map((p) => `## ${p.name}\n${p.description || ""}\n- Role: ${p.role || "contributor"}\n- Status: ${p.status || "active"}\n${p.url ? `- URL: ${p.url}` : ""}`).join("\n\n")}
117
+ `;
118
+ fs.writeFileSync(path.join(profileDir, "projects.md"), projectsContent);
119
+ filesWritten++;
120
+ console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" profile/projects.md"));
121
+ }
122
+ // Write profile/values.md
123
+ if (values.length > 0) {
124
+ const valuesContent = `---
125
+ title: "Values"
126
+ ---
127
+
128
+ ${values.map((v) => `- ${v}`).join("\n")}
129
+ `;
130
+ fs.writeFileSync(path.join(profileDir, "values.md"), valuesContent);
131
+ filesWritten++;
132
+ console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" profile/values.md"));
133
+ }
134
+ // Write profile/links.md
135
+ const linkEntries = Object.entries(links).filter(([, url]) => url);
136
+ if (linkEntries.length > 0) {
137
+ const linksContent = `---
138
+ title: "Links"
139
+ ---
140
+
141
+ ${linkEntries.map(([platform, url]) => `- **${platform}**: ${url}`).join("\n")}
142
+ `;
143
+ fs.writeFileSync(path.join(profileDir, "links.md"), linksContent);
144
+ filesWritten++;
145
+ console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" profile/links.md"));
146
+ }
147
+ // Write preferences/agent.md
148
+ if (prefs.agent) {
149
+ const agentContent = `---
150
+ title: "Agent Preferences"
151
+ ---
152
+
153
+ Tone: ${prefs.agent.tone || "direct, curious"}
154
+ Formality: ${prefs.agent.formality || "casual-professional"}
155
+ ${prefs.agent.avoid?.length ? `Avoid: ${prefs.agent.avoid.join(", ")}` : ""}
156
+ `;
157
+ fs.writeFileSync(path.join(prefsDir, "agent.md"), agentContent);
158
+ filesWritten++;
159
+ console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" preferences/agent.md"));
160
+ }
161
+ // Write preferences/writing.md
162
+ if (prefs.writing) {
163
+ const writingContent = `---
164
+ title: "Writing Style"
165
+ ---
166
+
167
+ Style: ${prefs.writing.style || ""}
168
+ Format: ${prefs.writing.format || "markdown preferred"}
169
+ `;
170
+ fs.writeFileSync(path.join(prefsDir, "writing.md"), writingContent);
171
+ filesWritten++;
172
+ console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" preferences/writing.md"));
173
+ }
174
+ // Write voice/voice.md (overall)
175
+ if (voice.overall || analysis.voice_summary) {
176
+ const voiceContent = `---
177
+ title: "Voice Profile"
178
+ ---
179
+
180
+ ${voice.overall || analysis.voice_summary || ""}
181
+ `;
182
+ fs.writeFileSync(path.join(voiceDir, "voice.md"), voiceContent);
183
+ filesWritten++;
184
+ console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" voice/voice.md"));
185
+ }
186
+ // Write voice platform-specific files
187
+ const platforms = voice.platforms || {};
188
+ for (const [platform, content] of Object.entries(platforms)) {
189
+ if (content) {
190
+ fs.writeFileSync(path.join(voiceDir, `voice.${platform}.md`), content);
191
+ filesWritten++;
192
+ console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(` voice/voice.${platform}.md`));
193
+ }
194
+ }
195
+ // Write you.json
196
+ fs.writeFileSync(path.join(bundleDir, "you.json"), JSON.stringify(youJson, null, 2));
197
+ filesWritten++;
198
+ console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" you.json"));
199
+ // Write you.md
200
+ if (profile.youMd) {
201
+ fs.writeFileSync(path.join(bundleDir, "you.md"), profile.youMd);
202
+ filesWritten++;
203
+ console.log(chalk_1.default.green(" ✓") + chalk_1.default.dim(" you.md"));
204
+ }
205
+ console.log("");
206
+ console.log(chalk_1.default.green(` pulled ${filesWritten} files from you.md/${username}`));
207
+ console.log(chalk_1.default.dim(` bundle dir: ${bundleDir}`));
208
+ }
209
+ //# sourceMappingURL=pull.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function pushCommand(options: {
2
+ publish?: boolean;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=push.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"AAOA,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,iBA+F/D"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.pushCommand = pushCommand;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const chalk_1 = __importDefault(require("chalk"));
43
+ const config_1 = require("../lib/config");
44
+ const compiler_1 = require("../lib/compiler");
45
+ const api_1 = require("../lib/api");
46
+ async function pushCommand(options) {
47
+ const config = (0, config_1.readGlobalConfig)();
48
+ if (!config.token) {
49
+ console.log(chalk_1.default.hex("#C46A3A")(" not authenticated. run: youmd login"));
50
+ return;
51
+ }
52
+ if (!(0, config_1.localBundleExists)()) {
53
+ console.log(chalk_1.default.hex("#C46A3A")(" no local bundle found."));
54
+ console.log(chalk_1.default.dim(" run: youmd init"));
55
+ return;
56
+ }
57
+ const bundleDir = (0, config_1.getLocalBundleDir)();
58
+ // Step 1: Compile the bundle from local files
59
+ console.log(chalk_1.default.dim(" compiling local bundle..."));
60
+ const bundle = (0, compiler_1.compileBundle)(bundleDir);
61
+ if (!bundle) {
62
+ console.log(chalk_1.default.hex("#C46A3A")(" compilation failed."));
63
+ return;
64
+ }
65
+ // Write compiled files locally
66
+ (0, compiler_1.writeBundle)(bundleDir, bundle);
67
+ const youJsonPath = path.join(bundleDir, "you.json");
68
+ const youMdPath = path.join(bundleDir, "you.md");
69
+ const manifestPath = path.join(bundleDir, "manifest.json");
70
+ if (!fs.existsSync(youJsonPath)) {
71
+ console.log(chalk_1.default.hex("#C46A3A")(" you.json not found after compilation."));
72
+ return;
73
+ }
74
+ const youJson = JSON.parse(fs.readFileSync(youJsonPath, "utf-8"));
75
+ const youMd = fs.existsSync(youMdPath)
76
+ ? fs.readFileSync(youMdPath, "utf-8")
77
+ : "";
78
+ const manifest = fs.existsSync(manifestPath)
79
+ ? JSON.parse(fs.readFileSync(manifestPath, "utf-8"))
80
+ : {};
81
+ // Step 2: Upload to Convex
82
+ console.log(chalk_1.default.dim(" pushing to you.md..."));
83
+ try {
84
+ const uploadResult = await (0, api_1.uploadBundle)({
85
+ manifest,
86
+ youJson,
87
+ youMd,
88
+ });
89
+ if (!uploadResult.ok) {
90
+ console.log(chalk_1.default.hex("#C46A3A")(` push failed: ${JSON.stringify(uploadResult.data)}`));
91
+ return;
92
+ }
93
+ console.log(chalk_1.default.green(" ✓") +
94
+ chalk_1.default.dim(` bundle uploaded (v${uploadResult.data?.version || "?"})`));
95
+ // Step 3: Auto-publish if --publish flag
96
+ if (options.publish !== false) {
97
+ console.log(chalk_1.default.dim(" publishing..."));
98
+ const pubResult = await (0, api_1.publishLatest)();
99
+ if (pubResult.ok) {
100
+ console.log(chalk_1.default.green(" ✓") +
101
+ chalk_1.default.dim(` published v${pubResult.data.version} → you.md/${pubResult.data.username}`));
102
+ }
103
+ else {
104
+ console.log(chalk_1.default.hex("#C46A3A")(` publish failed: ${JSON.stringify(pubResult.data)}`));
105
+ }
106
+ }
107
+ console.log("");
108
+ console.log(chalk_1.default.green(" push complete."));
109
+ }
110
+ catch (err) {
111
+ console.log(chalk_1.default.hex("#C46A3A")(` push failed: ${err instanceof Error ? err.message : String(err)}`));
112
+ }
113
+ }
114
+ //# sourceMappingURL=push.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/commands/push.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function syncCommand(options: {
2
+ watch?: boolean;
3
+ }): Promise<void>;
4
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"AAOA,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,iBA2E7D"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.syncCommand = syncCommand;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const chalk_1 = __importDefault(require("chalk"));
43
+ const config_1 = require("../lib/config");
44
+ const push_1 = require("./push");
45
+ const pull_1 = require("./pull");
46
+ async function syncCommand(options) {
47
+ const config = (0, config_1.readGlobalConfig)();
48
+ if (!config.token) {
49
+ console.log(chalk_1.default.hex("#C46A3A")(" not authenticated. run: youmd login"));
50
+ return;
51
+ }
52
+ if (options.watch) {
53
+ // Watch mode — auto-push on file changes
54
+ if (!(0, config_1.localBundleExists)()) {
55
+ console.log(chalk_1.default.hex("#C46A3A")(" no local bundle found. run: youmd pull"));
56
+ return;
57
+ }
58
+ const bundleDir = (0, config_1.getLocalBundleDir)();
59
+ const profileDir = path.join(bundleDir, "profile");
60
+ const prefsDir = path.join(bundleDir, "preferences");
61
+ const voiceDir = path.join(bundleDir, "voice");
62
+ const watchDirs = [profileDir, prefsDir, voiceDir].filter((d) => fs.existsSync(d));
63
+ if (watchDirs.length === 0) {
64
+ console.log(chalk_1.default.hex("#C46A3A")(" no directories to watch."));
65
+ return;
66
+ }
67
+ console.log(chalk_1.default.dim(" watching for changes..."));
68
+ console.log(chalk_1.default.dim(` directories: ${watchDirs.map((d) => path.relative(process.cwd(), d)).join(", ")}`));
69
+ console.log(chalk_1.default.dim(" press ctrl+c to stop"));
70
+ console.log("");
71
+ let debounceTimer = null;
72
+ for (const dir of watchDirs) {
73
+ fs.watch(dir, { recursive: true }, (eventType, filename) => {
74
+ if (!filename || filename.startsWith("."))
75
+ return;
76
+ if (!filename.endsWith(".md"))
77
+ return;
78
+ // Debounce — wait 1s after last change before pushing
79
+ if (debounceTimer)
80
+ clearTimeout(debounceTimer);
81
+ debounceTimer = setTimeout(async () => {
82
+ console.log(chalk_1.default.dim(` change detected: ${filename}`));
83
+ await (0, push_1.pushCommand)({ publish: true });
84
+ console.log(chalk_1.default.dim(" watching for changes..."));
85
+ }, 1000);
86
+ });
87
+ }
88
+ // Keep the process alive
89
+ await new Promise(() => { });
90
+ }
91
+ else {
92
+ // One-shot sync: pull then push
93
+ console.log(chalk_1.default.dim(" syncing with you.md..."));
94
+ console.log("");
95
+ console.log(chalk_1.default.dim(" ── pull ──"));
96
+ await (0, pull_1.pullCommand)();
97
+ console.log("");
98
+ console.log(chalk_1.default.dim(" ── push ──"));
99
+ await (0, push_1.pushCommand)({ publish: true });
100
+ console.log("");
101
+ console.log(chalk_1.default.green(" sync complete."));
102
+ console.log(chalk_1.default.dim(" tip: use --watch for auto-sync on file changes"));
103
+ }
104
+ }
105
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/commands/sync.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15,6 +15,9 @@ const preview_1 = require("./commands/preview");
15
15
  const link_1 = require("./commands/link");
16
16
  const keys_1 = require("./commands/keys");
17
17
  const chat_1 = require("./commands/chat");
18
+ const pull_1 = require("./commands/pull");
19
+ const push_1 = require("./commands/push");
20
+ const sync_1 = require("./commands/sync");
18
21
  const program = new commander_1.Command();
19
22
  program
20
23
  .name("youmd")
@@ -67,6 +70,20 @@ program
67
70
  .command("chat")
68
71
  .description("Talk to the You agent — update your profile, add sources, ask questions")
69
72
  .action(chat_1.chatCommand);
73
+ program
74
+ .command("pull")
75
+ .description("Download your profile from you.md to local .youmd/ files")
76
+ .action(pull_1.pullCommand);
77
+ program
78
+ .command("push")
79
+ .description("Upload local .youmd/ files to you.md and publish")
80
+ .option("--no-publish", "Upload without publishing")
81
+ .action(push_1.pushCommand);
82
+ program
83
+ .command("sync")
84
+ .description("Sync local files with you.md (pull + push)")
85
+ .option("-w, --watch", "Watch for local changes and auto-push")
86
+ .action(sync_1.syncCommand);
70
87
  const linkCmd = program
71
88
  .command("link [subcommand]")
72
89
  .description("Manage context links (create, list, revoke)")
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "youmd",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Your identity file for the agent internet. CLI for the You.md platform.",
5
5
  "bin": {
6
6
  "youmd": "./dist/index.js",