@principle2026/vault 1.0.1 → 1.0.2

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.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bun
2
2
  /**
3
3
  * Post-install script
4
- * Runs after npm install to guide user through setup
4
+ * Automatically creates Claude Code skill link after npm install
5
5
  */
6
6
  export {};
7
7
  //# sourceMappingURL=postinstall.d.ts.map
@@ -1,37 +1,68 @@
1
1
  #!/usr/bin/env bun
2
2
  /**
3
3
  * Post-install script
4
- * Runs after npm install to guide user through setup
4
+ * Automatically creates Claude Code skill link after npm install
5
5
  */
6
- import { showWelcome, info, success } from './CLI.js';
7
- import { getVaultStatus } from './tools.js';
6
+ import { existsSync, mkdirSync } from 'fs';
7
+ import { symlinkSync } from 'fs';
8
+ import { dirname, join } from 'path';
9
+ import { fileURLToPath } from 'url';
10
+ const __filename = fileURLToPath(import.meta.url);
11
+ const __dirname = dirname(__filename);
12
+ // Colors for terminal output
13
+ const GREEN = '\x1b[0;32m';
14
+ const BLUE = '\x1b[0;34m';
15
+ const YELLOW = '\x1b[1;33m';
16
+ const NC = '\x1b[0m';
17
+ function log(msg, color = GREEN) {
18
+ console.log(`${color}${msg}${NC}`);
19
+ }
8
20
  async function main() {
9
21
  // Only run for global installation
10
22
  const isGlobal = process.env.npm_config_global === 'true';
11
23
  if (!isGlobal) {
12
24
  return;
13
25
  }
14
- // Check if already initialized
15
- const status = await getVaultStatus();
16
- showWelcome();
17
- if (status.initialized) {
18
- success('Vault 已就绪!');
19
- console.log('');
20
- info('在 Claude Code 中说「记住我的密钥是 xxx」来保存密钥');
21
- return;
26
+ // Get the package directory (dist folder)
27
+ // We're in dist/postinstall.js, so go up one level
28
+ const packageDir = dirname(__dirname);
29
+ // Claude Code skills directory
30
+ const skillsDir = join(process.env.HOME || '', '.claude', 'skills');
31
+ const linkPath = join(skillsDir, 'vault');
32
+ try {
33
+ // Create skills directory if it doesn't exist
34
+ if (!existsSync(skillsDir)) {
35
+ mkdirSync(skillsDir, { recursive: true });
36
+ }
37
+ // Check if link already exists
38
+ if (existsSync(linkPath)) {
39
+ // Remove old link
40
+ const { rmSync } = await import('fs');
41
+ try {
42
+ rmSync(linkPath, { recursive: true, force: true });
43
+ }
44
+ catch {
45
+ // Ignore error
46
+ }
47
+ }
48
+ // Create symbolic link
49
+ symlinkSync(packageDir, linkPath);
50
+ log('');
51
+ log('🔐 Vault - AI Secret Management', BLUE);
52
+ log('━'.repeat(40));
53
+ log('');
54
+ log('✓ Claude Code 技能已安装', GREEN);
55
+ log('');
56
+ log('下一步:');
57
+ log(' 1. 初始化: ' + YELLOW + 'vault init' + NC);
58
+ log(' 2. 然后在 Claude Code 中说:');
59
+ log(' 「记住我的密钥是 xxx」');
60
+ log('');
61
+ }
62
+ catch (error) {
63
+ // Silently fail - don't break installation
64
+ // User can manually create link if needed
22
65
  }
23
- // Not initialized
24
- console.log('');
25
- console.log('🚀 下一步:');
26
- console.log('');
27
- console.log(' 1. 初始化 Vault:');
28
- console.log(' ${YELLOW}vault init${NC}');
29
- console.log('');
30
- console.log(' 2. 然后在 Claude Code 中使用:');
31
- console.log(' 「记住我的 OpenAI 密钥是 sk-xxx」');
32
- console.log('');
33
66
  }
34
- main().catch(() => {
35
- // Silently fail - don't break installation
36
- });
67
+ main().catch(() => { });
37
68
  //# sourceMappingURL=postinstall.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../src/postinstall.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAoB,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,KAAK,UAAU,IAAI;IACjB,mCAAmC;IACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAA;IACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAM;IACR,CAAC;IAED,+BAA+B;IAC/B,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAA;IAErC,WAAW,EAAE,CAAA;IAEb,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,OAAO,CAAC,YAAY,CAAC,CAAA;QACrB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,IAAI,CAAC,oCAAoC,CAAC,CAAA;QAC1C,OAAM;IACR,CAAC;IAED,kBAAkB;IAClB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IACtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IAC9B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;IAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAA;IACxC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;IAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACjB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;IAChB,2CAA2C;AAC7C,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../src/postinstall.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AAEnC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;AAErC,6BAA6B;AAC7B,MAAM,KAAK,GAAG,YAAY,CAAA;AAC1B,MAAM,IAAI,GAAG,YAAY,CAAA;AACzB,MAAM,MAAM,GAAG,YAAY,CAAA;AAC3B,MAAM,EAAE,GAAG,SAAS,CAAA;AAEpB,SAAS,GAAG,CAAC,GAAW,EAAE,KAAK,GAAG,KAAK;IACrC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,CAAA;AACpC,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,mCAAmC;IACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,CAAA;IACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAM;IACR,CAAC;IAED,0CAA0C;IAC1C,mDAAmD;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAErC,+BAA+B;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAEzC,IAAI,CAAC;QACH,8CAA8C;QAC9C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC3C,CAAC;QAED,+BAA+B;QAC/B,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,kBAAkB;YAClB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAA;YACrC,IAAI,CAAC;gBACH,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YACpD,CAAC;YAAC,MAAM,CAAC;gBACP,eAAe;YACjB,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAEjC,GAAG,CAAC,EAAE,CAAC,CAAA;QACP,GAAG,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAA;QAC5C,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QACnB,GAAG,CAAC,EAAE,CAAC,CAAA;QACP,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;QACjC,GAAG,CAAC,EAAE,CAAC,CAAA;QACP,GAAG,CAAC,MAAM,CAAC,CAAA;QACX,GAAG,CAAC,YAAY,GAAG,MAAM,GAAG,YAAY,GAAG,EAAE,CAAC,CAAA;QAC9C,GAAG,CAAC,0BAA0B,CAAC,CAAA;QAC/B,GAAG,CAAC,oBAAoB,CAAC,CAAA;QACzB,GAAG,CAAC,EAAE,CAAC,CAAA;IAET,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2CAA2C;QAC3C,0CAA0C;IAC5C,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principle2026/vault",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Vault - AI-powered secret management for Claude Code",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",