my-patina 0.3.0 → 0.4.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 (2) hide show
  1. package/dist/cli.js +27 -8
  2. package/package.json +2 -1
package/dist/cli.js CHANGED
@@ -1,5 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
 
3
+ // src/cli.ts
4
+ import { Command } from "commander";
5
+
3
6
  // src/wizard.ts
4
7
  import * as p from "@clack/prompts";
5
8
  import chalk from "chalk";
@@ -80,9 +83,9 @@ var linkedinModule = {
80
83
  managedPaths: LI_MANAGED_PATHS,
81
84
  contentFileNames: CONTENT_FILE_NAMES,
82
85
  managedFiles(vars) {
83
- const files = LI_COMMANDS.map((cmd2) => [
84
- `.claude/commands/${cmd2}`,
85
- render(tpl(`modules/linkedin/commands/${cmd2}`), vars)
86
+ const files = LI_COMMANDS.map((cmd) => [
87
+ `.claude/commands/${cmd}`,
88
+ render(tpl(`modules/linkedin/commands/${cmd}`), vars)
86
89
  ]);
87
90
  files.push([
88
91
  ".claude/modules/linkedin/manifest.md",
@@ -991,10 +994,15 @@ function onCancel() {
991
994
  process.exit(0);
992
995
  }
993
996
 
997
+ // src/commands/index.ts
998
+ function registerCommands(_program) {
999
+ }
1000
+
994
1001
  // src/cli.ts
995
1002
  import chalk2 from "chalk";
996
- var [cmd] = process.argv.slice(2);
997
- if (cmd === "validate") {
1003
+ var program = new Command();
1004
+ program.name("patina").description("Personal professional knowledge graph \u2014 setup and management");
1005
+ program.command("validate").description("Check your patina for broken links and excluded items").action(() => {
998
1006
  try {
999
1007
  const cwd = process.cwd();
1000
1008
  const root = findPatinaRoot(cwd);
@@ -1006,7 +1014,7 @@ if (cmd === "validate") {
1006
1014
  const result = validate(root, profile);
1007
1015
  const report = formatReport(result);
1008
1016
  const lines = report.split("\n");
1009
- const summary = lines.pop();
1017
+ const summary = lines.pop() ?? "";
1010
1018
  if (lines.length > 0) console.log(lines.join("\n"));
1011
1019
  console.log(result.ok ? chalk2.green(summary) : chalk2.red(summary));
1012
1020
  process.exit(result.ok ? 0 : 1);
@@ -1014,9 +1022,20 @@ if (cmd === "validate") {
1014
1022
  console.error(chalk2.red(err instanceof Error ? err.message : String(err)));
1015
1023
  process.exit(1);
1016
1024
  }
1017
- } else {
1025
+ });
1026
+ registerCommands(program);
1027
+ program.action(function() {
1028
+ if (this.args.length > 0) {
1029
+ console.error(chalk2.red(`Unknown command: ${this.args[0]}`));
1030
+ console.error(chalk2.dim("Run 'patina --help' for available commands."));
1031
+ process.exit(1);
1032
+ }
1018
1033
  main().catch((err) => {
1019
1034
  console.error(err.message);
1020
1035
  process.exit(1);
1021
1036
  });
1022
- }
1037
+ });
1038
+ program.parseAsync(process.argv).catch((err) => {
1039
+ console.error(chalk2.red(err instanceof Error ? err.message : String(err)));
1040
+ process.exit(1);
1041
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "my-patina",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Personal professional knowledge graph — setup and management",
5
5
  "type": "module",
6
6
  "bin": {
@@ -20,6 +20,7 @@
20
20
  "dependencies": {
21
21
  "@clack/prompts": "^0.9.0",
22
22
  "chalk": "^5.3.0",
23
+ "commander": "^12.1.0",
23
24
  "js-yaml": "^4.1.0"
24
25
  },
25
26
  "devDependencies": {