md4ai 0.2.0 → 0.3.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.
@@ -914,7 +914,7 @@ function escapeHtml(text) {
914
914
 
915
915
  // dist/check-update.js
916
916
  import chalk8 from "chalk";
917
- var CURRENT_VERSION = "0.2.0";
917
+ var CURRENT_VERSION = "0.3.0";
918
918
  async function checkForUpdate() {
919
919
  try {
920
920
  const controller = new AbortController();
@@ -939,6 +939,8 @@ async function checkForUpdate() {
939
939
  console.log(chalk8.yellow("\u2502") + chalk8.dim(" Changelog: https://www.md4ai.com/how-it-works") + " " + chalk8.yellow("\u2502"));
940
940
  console.log(chalk8.yellow("\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518"));
941
941
  console.log("");
942
+ } else {
943
+ console.log(chalk8.green(`md4ai v${CURRENT_VERSION} \u2014 you're on the latest version.`));
942
944
  }
943
945
  } catch {
944
946
  }
@@ -1116,7 +1118,7 @@ async function printCommand(title) {
1116
1118
  const projectRoot = process.cwd();
1117
1119
  const scanDataPath = join8(projectRoot, "output", "index.html");
1118
1120
  if (!existsSync7(scanDataPath)) {
1119
- console.error(chalk11.red("No scan data found. Run: md4ai update"));
1121
+ console.error(chalk11.red("No scan data found. Run: md4ai scan"));
1120
1122
  process.exit(1);
1121
1123
  }
1122
1124
  const html = await readFile4(scanDataPath, "utf-8");
@@ -1199,7 +1201,7 @@ async function syncCommand(options) {
1199
1201
  console.log(chalk12.blue(`Syncing: ${device.path}`));
1200
1202
  const { data: proposedAll } = await supabase.from("folder_files").select("file_path").eq("folder_id", device.folder_id).eq("proposed_for_deletion", true);
1201
1203
  if (proposedAll?.length) {
1202
- console.log(chalk12.yellow(` ${proposedAll.length} file(s) proposed for deletion \u2014 run \`md4ai update\` to review.`));
1204
+ console.log(chalk12.yellow(` ${proposedAll.length} file(s) proposed for deletion \u2014 run \`md4ai scan\` to review.`));
1203
1205
  }
1204
1206
  try {
1205
1207
  const result = await scanProject(device.path);
@@ -1222,7 +1224,7 @@ async function syncCommand(options) {
1222
1224
  } else {
1223
1225
  const state = await loadState();
1224
1226
  if (!state.lastFolderId) {
1225
- console.error(chalk12.yellow("No recent sync. Use: md4ai sync --all, or md4ai update <path> first."));
1227
+ console.error(chalk12.yellow("No recent sync. Use: md4ai sync --all, or md4ai scan <path> first."));
1226
1228
  process.exit(1);
1227
1229
  }
1228
1230
  const { data: device } = await supabase.from("device_paths").select("folder_id, device_name, path").eq("folder_id", state.lastFolderId).eq("device_name", state.lastDeviceName).single();
@@ -1233,7 +1235,7 @@ async function syncCommand(options) {
1233
1235
  console.log(chalk12.blue(`Syncing: ${device.path}`));
1234
1236
  const { data: proposedSingle } = await supabase.from("folder_files").select("file_path").eq("folder_id", device.folder_id).eq("proposed_for_deletion", true);
1235
1237
  if (proposedSingle?.length) {
1236
- console.log(chalk12.yellow(` ${proposedSingle.length} file(s) proposed for deletion \u2014 run \`md4ai update\` to review.`));
1238
+ console.log(chalk12.yellow(` ${proposedSingle.length} file(s) proposed for deletion \u2014 run \`md4ai scan\` to review.`));
1237
1239
  }
1238
1240
  const result = await scanProject(device.path);
1239
1241
  await supabase.from("claude_folders").update({
@@ -1351,7 +1353,7 @@ Linking "${folder.name}" to this device...
1351
1353
  console.log(chalk13.cyan(`
1352
1354
  ${projectUrl}
1353
1355
  `));
1354
- console.log(chalk13.grey('Run "md4ai update" to rescan at any time.'));
1356
+ console.log(chalk13.grey('Run "md4ai scan" to rescan at any time.'));
1355
1357
  }
1356
1358
 
1357
1359
  // dist/commands/import-bundle.js
@@ -1430,7 +1432,7 @@ program.command("add-folder").description("Create a new Claude folder").action(a
1430
1432
  program.command("add-device").description("Add a device path to a Claude folder").action(addDeviceCommand);
1431
1433
  program.command("list-devices").description("List all devices and their linked folders").action(listDevicesCommand);
1432
1434
  program.command("link <project-id>").description("Link the current directory to a project created in the web dashboard").action(linkCommand);
1433
- program.command("update [path]").description("Rescan a Claude project folder and push updated data to your dashboard").option("--offline", "Skip pushing to Supabase").action(mapCommand);
1435
+ program.command("scan [path]").description("Scan Claude project files and push results to your dashboard").option("--offline", "Skip pushing to Supabase").action(mapCommand);
1434
1436
  program.command("simulate <prompt>").description("Show which files Claude would load for a given prompt").action(simulateCommand);
1435
1437
  program.command("print <title>").description("Generate a printable wall-chart HTML from the last scan").action(printCommand);
1436
1438
  program.command("sync").description("Re-push latest scan data to Supabase").option("--all", "Sync all folders on all devices").action(syncCommand);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "md4ai",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "CLI for MD4AI — scan Claude projects and sync to your dashboard",
5
5
  "type": "module",
6
6
  "bin": {