@hasna/hooks 0.1.1 → 0.2.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 (111) hide show
  1. package/LICENSE +191 -0
  2. package/README.md +41 -6
  3. package/bin/index.js +56 -63
  4. package/dist/index.js +20 -14
  5. package/hooks/hook-agentmessages/CLAUDE.md +1 -1
  6. package/hooks/hook-agentmessages/LICENSE +191 -21
  7. package/hooks/hook-agentmessages/README.md +3 -3
  8. package/hooks/hook-agentmessages/package.json +5 -5
  9. package/hooks/hook-autoformat/README.md +1 -1
  10. package/hooks/hook-autoformat/package.json +1 -1
  11. package/hooks/hook-autoformat/tsconfig.json +25 -0
  12. package/hooks/hook-autostage/README.md +1 -1
  13. package/hooks/hook-autostage/package.json +1 -1
  14. package/hooks/hook-branchprotect/README.md +2 -2
  15. package/hooks/hook-branchprotect/package.json +4 -4
  16. package/hooks/hook-branchprotect/src/cli.ts +1 -1
  17. package/hooks/hook-branchprotect/tsconfig.json +25 -0
  18. package/hooks/hook-checkbugs/LICENSE +191 -21
  19. package/hooks/hook-checkbugs/README.md +5 -5
  20. package/hooks/hook-checkbugs/package.json +4 -4
  21. package/hooks/hook-checkbugs/src/cli.ts +2 -2
  22. package/hooks/hook-checkbugs/tsconfig.json +15 -0
  23. package/hooks/hook-checkdocs/README.md +5 -5
  24. package/hooks/hook-checkdocs/package.json +4 -4
  25. package/hooks/hook-checkdocs/src/cli.ts +2 -2
  26. package/hooks/hook-checkdocs/tsconfig.json +15 -0
  27. package/hooks/hook-checkfiles/LICENSE +191 -21
  28. package/hooks/hook-checkfiles/README.md +5 -5
  29. package/hooks/hook-checkfiles/package.json +4 -4
  30. package/hooks/hook-checkfiles/src/cli.ts +2 -2
  31. package/hooks/hook-checkfiles/tsconfig.json +15 -0
  32. package/hooks/hook-checklint/LICENSE +191 -21
  33. package/hooks/hook-checklint/README.md +5 -5
  34. package/hooks/hook-checklint/package.json +4 -4
  35. package/hooks/hook-checklint/src/cli.ts +2 -2
  36. package/hooks/hook-checklint/tsconfig.json +15 -0
  37. package/hooks/hook-checkpoint/README.md +2 -2
  38. package/hooks/hook-checkpoint/package.json +4 -4
  39. package/hooks/hook-checkpoint/src/cli.ts +1 -1
  40. package/hooks/hook-checkpoint/tsconfig.json +25 -0
  41. package/hooks/hook-checksecurity/LICENSE +191 -21
  42. package/hooks/hook-checksecurity/README.md +8 -8
  43. package/hooks/hook-checksecurity/package.json +4 -4
  44. package/hooks/hook-checksecurity/src/cli.ts +2 -2
  45. package/hooks/hook-checksecurity/tsconfig.json +15 -0
  46. package/hooks/hook-checktasks/README.md +5 -5
  47. package/hooks/hook-checktasks/package.json +4 -4
  48. package/hooks/hook-checktasks/src/cli.ts +2 -2
  49. package/hooks/hook-checktasks/tsconfig.json +20 -0
  50. package/hooks/hook-checktests/LICENSE +191 -21
  51. package/hooks/hook-checktests/README.md +5 -5
  52. package/hooks/hook-checktests/package.json +4 -4
  53. package/hooks/hook-checktests/src/cli.ts +2 -2
  54. package/hooks/hook-checktests/tsconfig.json +15 -0
  55. package/hooks/hook-commandlog/README.md +1 -1
  56. package/hooks/hook-commandlog/package.json +1 -1
  57. package/hooks/hook-contextrefresh/README.md +2 -2
  58. package/hooks/hook-contextrefresh/package.json +4 -4
  59. package/hooks/hook-contextrefresh/src/cli.ts +1 -1
  60. package/hooks/hook-contextrefresh/tsconfig.json +25 -0
  61. package/hooks/hook-costwatch/README.md +1 -1
  62. package/hooks/hook-costwatch/package.json +1 -1
  63. package/hooks/hook-desktopnotify/README.md +1 -1
  64. package/hooks/hook-desktopnotify/package.json +1 -1
  65. package/hooks/hook-desktopnotify/tsconfig.json +25 -0
  66. package/hooks/hook-envsetup/README.md +1 -1
  67. package/hooks/hook-envsetup/package.json +1 -1
  68. package/hooks/hook-envsetup/tsconfig.json +25 -0
  69. package/hooks/hook-errornotify/README.md +1 -1
  70. package/hooks/hook-errornotify/package.json +1 -1
  71. package/hooks/hook-gitguard/README.md +2 -2
  72. package/hooks/hook-gitguard/package.json +4 -4
  73. package/hooks/hook-gitguard/src/cli.ts +1 -1
  74. package/hooks/hook-gitguard/tsconfig.json +25 -0
  75. package/hooks/hook-packageage/README.md +2 -2
  76. package/hooks/hook-packageage/package.json +4 -4
  77. package/hooks/hook-packageage/src/cli.ts +1 -1
  78. package/hooks/hook-packageage/tsconfig.json +25 -0
  79. package/hooks/hook-permissionguard/README.md +1 -1
  80. package/hooks/hook-permissionguard/package.json +1 -1
  81. package/hooks/hook-permissionguard/tsconfig.json +25 -0
  82. package/hooks/hook-phonenotify/README.md +2 -2
  83. package/hooks/hook-phonenotify/package.json +4 -4
  84. package/hooks/hook-phonenotify/src/cli.ts +1 -1
  85. package/hooks/hook-phonenotify/tsconfig.json +25 -0
  86. package/hooks/hook-precompact/README.md +2 -2
  87. package/hooks/hook-precompact/package.json +4 -4
  88. package/hooks/hook-precompact/src/cli.ts +1 -1
  89. package/hooks/hook-precompact/tsconfig.json +25 -0
  90. package/hooks/hook-promptguard/README.md +1 -1
  91. package/hooks/hook-promptguard/package.json +1 -1
  92. package/hooks/hook-protectfiles/README.md +1 -1
  93. package/hooks/hook-protectfiles/package.json +1 -1
  94. package/hooks/hook-protectfiles/tsconfig.json +25 -0
  95. package/hooks/hook-sessionlog/README.md +1 -1
  96. package/hooks/hook-sessionlog/package.json +1 -1
  97. package/hooks/hook-slacknotify/README.md +1 -1
  98. package/hooks/hook-slacknotify/package.json +1 -1
  99. package/hooks/hook-soundnotify/README.md +1 -1
  100. package/hooks/hook-soundnotify/package.json +1 -1
  101. package/hooks/hook-taskgate/README.md +1 -1
  102. package/hooks/hook-taskgate/package.json +1 -1
  103. package/hooks/hook-tddguard/README.md +1 -1
  104. package/hooks/hook-tddguard/package.json +1 -1
  105. package/package.json +17 -3
  106. package/.claude/settings.json +0 -24
  107. package/.npmrc.example +0 -2
  108. package/AGENTS.md +0 -54
  109. package/CLAUDE.md +0 -70
  110. package/CONTRIBUTING.md +0 -45
  111. package/hooks/hook-agentmessages/bin/cli.ts +0 -125
@@ -0,0 +1,25 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "module": "ESNext",
5
+ "lib": ["ESNext"],
6
+ "moduleResolution": "bundler",
7
+ "allowImportingTsExtensions": true,
8
+ "strict": true,
9
+ "esModuleInterop": true,
10
+ "skipLibCheck": true,
11
+ "forceConsistentCasingInFileNames": true,
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "noEmit": true,
15
+ "noUnusedLocals": true,
16
+ "noUnusedParameters": true,
17
+ "declaration": true,
18
+ "declarationMap": true,
19
+ "outDir": "./dist",
20
+ "rootDir": "./src",
21
+ "types": ["bun-types"]
22
+ },
23
+ "include": ["src/**/*"],
24
+ "exclude": ["node_modules", "dist"]
25
+ }
@@ -63,4 +63,4 @@ Errors are written to `.claude/errors.log`:
63
63
 
64
64
  ## License
65
65
 
66
- MIT
66
+ Apache-2.0
@@ -8,5 +8,5 @@
8
8
  "typecheck": "tsc --noEmit"
9
9
  },
10
10
  "author": "Hasna",
11
- "license": "MIT"
11
+ "license": "Apache-2.0"
12
12
  }
@@ -9,7 +9,7 @@ Prevents Claude from running irreversible git commands like `git reset --hard`,
9
9
  ## Installation
10
10
 
11
11
  ```bash
12
- bun install -g @hasnaxyz/hook-gitguard
12
+ bun install -g @hasna/hook-gitguard
13
13
  hook-gitguard install
14
14
  ```
15
15
 
@@ -27,4 +27,4 @@ hook-gitguard install
27
27
 
28
28
  ## License
29
29
 
30
- MIT
30
+ Apache-2.0
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "@hasnaxyz/hook-gitguard",
2
+ "name": "@hasna/hook-gitguard",
3
3
  "version": "0.1.0",
4
4
  "description": "Claude Code hook that blocks destructive git operations",
5
5
  "type": "module",
@@ -36,13 +36,13 @@
36
36
  "cli"
37
37
  ],
38
38
  "author": "Hasna",
39
- "license": "MIT",
39
+ "license": "Apache-2.0",
40
40
  "repository": {
41
41
  "type": "git",
42
- "url": "https://github.com/hasnaxyz/hook-gitguard.git"
42
+ "url": "https://github.com/hasna/hooks.git"
43
43
  },
44
44
  "publishConfig": {
45
- "access": "restricted",
45
+ "access": "public",
46
46
  "registry": "https://registry.npmjs.org/"
47
47
  },
48
48
  "engines": {
@@ -52,7 +52,7 @@ function install(): void {
52
52
 
53
53
  settings.hooks.PreToolUse.push({
54
54
  matcher: "Bash",
55
- hooks: [{ type: "command", command: `bunx @hasnaxyz/${HOOK_NAME}` }],
55
+ hooks: [{ type: "command", command: `bunx @hasna/${HOOK_NAME}` }],
56
56
  });
57
57
 
58
58
  writeSettings(settings);
@@ -0,0 +1,25 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "module": "ESNext",
5
+ "lib": ["ESNext"],
6
+ "moduleResolution": "bundler",
7
+ "allowImportingTsExtensions": true,
8
+ "strict": true,
9
+ "esModuleInterop": true,
10
+ "skipLibCheck": true,
11
+ "forceConsistentCasingInFileNames": true,
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "noEmit": true,
15
+ "noUnusedLocals": true,
16
+ "noUnusedParameters": true,
17
+ "declaration": true,
18
+ "declarationMap": true,
19
+ "outDir": "./dist",
20
+ "rootDir": "./src",
21
+ "types": ["bun-types"]
22
+ },
23
+ "include": ["src/**/*"],
24
+ "exclude": ["node_modules", "dist"]
25
+ }
@@ -9,7 +9,7 @@ Before `npm install`, `bun add`, `yarn add`, or `pnpm add`, this hook checks eac
9
9
  ## Installation
10
10
 
11
11
  ```bash
12
- bun install -g @hasnaxyz/hook-packageage
12
+ bun install -g @hasna/hook-packageage
13
13
  hook-packageage install
14
14
  ```
15
15
 
@@ -30,4 +30,4 @@ hook-packageage check <pkg> # Manually check a package
30
30
 
31
31
  ## License
32
32
 
33
- MIT
33
+ Apache-2.0
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "@hasnaxyz/hook-packageage",
2
+ "name": "@hasna/hook-packageage",
3
3
  "version": "0.1.0",
4
4
  "description": "Claude Code hook that checks package age before install to warn on outdated or abandoned packages",
5
5
  "type": "module",
@@ -24,13 +24,13 @@
24
24
  },
25
25
  "keywords": ["claude-code", "claude", "hook", "package", "age", "outdated", "abandoned", "npm", "cli"],
26
26
  "author": "Hasna",
27
- "license": "MIT",
27
+ "license": "Apache-2.0",
28
28
  "repository": {
29
29
  "type": "git",
30
- "url": "https://github.com/hasnaxyz/hook-packageage.git"
30
+ "url": "https://github.com/hasna/hooks.git"
31
31
  },
32
32
  "publishConfig": {
33
- "access": "restricted",
33
+ "access": "public",
34
34
  "registry": "https://registry.npmjs.org/"
35
35
  },
36
36
  "engines": { "node": ">=18", "bun": ">=1.0" },
@@ -52,7 +52,7 @@ function install(): void {
52
52
 
53
53
  settings.hooks.PreToolUse.push({
54
54
  matcher: "Bash",
55
- hooks: [{ type: "command", command: `bunx @hasnaxyz/${HOOK_NAME}` }],
55
+ hooks: [{ type: "command", command: `bunx @hasna/${HOOK_NAME}` }],
56
56
  });
57
57
 
58
58
  writeSettings(settings);
@@ -0,0 +1,25 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "module": "ESNext",
5
+ "lib": ["ESNext"],
6
+ "moduleResolution": "bundler",
7
+ "allowImportingTsExtensions": true,
8
+ "strict": true,
9
+ "esModuleInterop": true,
10
+ "skipLibCheck": true,
11
+ "forceConsistentCasingInFileNames": true,
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "noEmit": true,
15
+ "noUnusedLocals": true,
16
+ "noUnusedParameters": true,
17
+ "declaration": true,
18
+ "declarationMap": true,
19
+ "outDir": "./dist",
20
+ "rootDir": "./src",
21
+ "types": ["bun-types"]
22
+ },
23
+ "include": ["src/**/*"],
24
+ "exclude": ["node_modules", "dist"]
25
+ }
@@ -45,4 +45,4 @@ Dangerous patterns that are always blocked:
45
45
 
46
46
  ## License
47
47
 
48
- MIT
48
+ Apache-2.0
@@ -37,7 +37,7 @@
37
37
  "cli"
38
38
  ],
39
39
  "author": "Hasna",
40
- "license": "MIT",
40
+ "license": "Apache-2.0",
41
41
  "repository": {
42
42
  "type": "git",
43
43
  "url": "https://github.com/hasna/open-hooks.git"
@@ -0,0 +1,25 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "module": "ESNext",
5
+ "lib": ["ESNext"],
6
+ "moduleResolution": "bundler",
7
+ "allowImportingTsExtensions": true,
8
+ "strict": true,
9
+ "esModuleInterop": true,
10
+ "skipLibCheck": true,
11
+ "forceConsistentCasingInFileNames": true,
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "noEmit": true,
15
+ "noUnusedLocals": true,
16
+ "noUnusedParameters": true,
17
+ "declaration": true,
18
+ "declarationMap": true,
19
+ "outDir": "./dist",
20
+ "rootDir": "./src",
21
+ "types": ["bun-types"]
22
+ },
23
+ "include": ["src/**/*"],
24
+ "exclude": ["node_modules", "dist"]
25
+ }
@@ -9,7 +9,7 @@ Get notified on your phone when Claude finishes a task or needs your attention.
9
9
  ## Installation
10
10
 
11
11
  ```bash
12
- bun install -g @hasnaxyz/hook-phonenotify
12
+ bun install -g @hasna/hook-phonenotify
13
13
  hook-phonenotify install my-secret-topic
14
14
  ```
15
15
 
@@ -41,4 +41,4 @@ In `~/.claude/settings.json`:
41
41
 
42
42
  ## License
43
43
 
44
- MIT
44
+ Apache-2.0
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "@hasnaxyz/hook-phonenotify",
2
+ "name": "@hasna/hook-phonenotify",
3
3
  "version": "0.1.0",
4
4
  "description": "Claude Code hook that sends push notifications to phone via ntfy.sh",
5
5
  "type": "module",
@@ -24,13 +24,13 @@
24
24
  },
25
25
  "keywords": ["claude-code", "claude", "hook", "notifications", "phone", "ntfy", "push", "cli"],
26
26
  "author": "Hasna",
27
- "license": "MIT",
27
+ "license": "Apache-2.0",
28
28
  "repository": {
29
29
  "type": "git",
30
- "url": "https://github.com/hasnaxyz/hook-phonenotify.git"
30
+ "url": "https://github.com/hasna/hooks.git"
31
31
  },
32
32
  "publishConfig": {
33
- "access": "restricted",
33
+ "access": "public",
34
34
  "registry": "https://registry.npmjs.org/"
35
35
  },
36
36
  "engines": { "node": ">=18", "bun": ">=1.0" },
@@ -46,7 +46,7 @@ function install(topic?: string): void {
46
46
  if (!settings.hooks.Stop) settings.hooks.Stop = [];
47
47
  if (!settings.hooks.Notification) settings.hooks.Notification = [];
48
48
 
49
- const hookCommand = `bunx @hasnaxyz/${HOOK_NAME}`;
49
+ const hookCommand = `bunx @hasna/${HOOK_NAME}`;
50
50
 
51
51
  const existing = settings.hooks.Stop.find((h) =>
52
52
  h.hooks.some((hook) => hook.command.includes(HOOK_NAME))
@@ -0,0 +1,25 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "module": "ESNext",
5
+ "lib": ["ESNext"],
6
+ "moduleResolution": "bundler",
7
+ "allowImportingTsExtensions": true,
8
+ "strict": true,
9
+ "esModuleInterop": true,
10
+ "skipLibCheck": true,
11
+ "forceConsistentCasingInFileNames": true,
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "noEmit": true,
15
+ "noUnusedLocals": true,
16
+ "noUnusedParameters": true,
17
+ "declaration": true,
18
+ "declarationMap": true,
19
+ "outDir": "./dist",
20
+ "rootDir": "./src",
21
+ "types": ["bun-types"]
22
+ },
23
+ "include": ["src/**/*"],
24
+ "exclude": ["node_modules", "dist"]
25
+ }
@@ -9,7 +9,7 @@ When Claude Code compacts the context (to free up token space), important state
9
9
  ## Installation
10
10
 
11
11
  ```bash
12
- bun install -g @hasnaxyz/hook-precompact
12
+ bun install -g @hasna/hook-precompact
13
13
  hook-precompact install
14
14
  ```
15
15
 
@@ -33,4 +33,4 @@ Each handoff file (`.claude-handoffs/`) contains:
33
33
 
34
34
  ## License
35
35
 
36
- MIT
36
+ Apache-2.0
@@ -1,5 +1,5 @@
1
1
  {
2
- "name": "@hasnaxyz/hook-precompact",
2
+ "name": "@hasna/hook-precompact",
3
3
  "version": "0.1.0",
4
4
  "description": "Claude Code hook that saves session state before context compaction",
5
5
  "type": "module",
@@ -24,13 +24,13 @@
24
24
  },
25
25
  "keywords": ["claude-code", "claude", "hook", "precompact", "context", "session", "state", "cli"],
26
26
  "author": "Hasna",
27
- "license": "MIT",
27
+ "license": "Apache-2.0",
28
28
  "repository": {
29
29
  "type": "git",
30
- "url": "https://github.com/hasnaxyz/hook-precompact.git"
30
+ "url": "https://github.com/hasna/hooks.git"
31
31
  },
32
32
  "publishConfig": {
33
- "access": "restricted",
33
+ "access": "public",
34
34
  "registry": "https://registry.npmjs.org/"
35
35
  },
36
36
  "engines": { "node": ">=18", "bun": ">=1.0" },
@@ -52,7 +52,7 @@ function install(): void {
52
52
  }
53
53
 
54
54
  settings.hooks.PreCompact.push({
55
- hooks: [{ type: "command", command: `bunx @hasnaxyz/${HOOK_NAME}` }],
55
+ hooks: [{ type: "command", command: `bunx @hasna/${HOOK_NAME}` }],
56
56
  });
57
57
 
58
58
  writeSettings(settings);
@@ -0,0 +1,25 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "module": "ESNext",
5
+ "lib": ["ESNext"],
6
+ "moduleResolution": "bundler",
7
+ "allowImportingTsExtensions": true,
8
+ "strict": true,
9
+ "esModuleInterop": true,
10
+ "skipLibCheck": true,
11
+ "forceConsistentCasingInFileNames": true,
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "noEmit": true,
15
+ "noUnusedLocals": true,
16
+ "noUnusedParameters": true,
17
+ "declaration": true,
18
+ "declarationMap": true,
19
+ "outDir": "./dist",
20
+ "rootDir": "./src",
21
+ "types": ["bun-types"]
22
+ },
23
+ "include": ["src/**/*"],
24
+ "exclude": ["node_modules", "dist"]
25
+ }
@@ -61,4 +61,4 @@ Add or remove patterns in the `INJECTION_PATTERNS`, `CREDENTIAL_PATTERNS`, or `S
61
61
 
62
62
  ## License
63
63
 
64
- MIT
64
+ Apache-2.0
@@ -8,5 +8,5 @@
8
8
  "typecheck": "tsc --noEmit"
9
9
  },
10
10
  "author": "Hasna",
11
- "license": "MIT"
11
+ "license": "Apache-2.0"
12
12
  }
@@ -59,4 +59,4 @@ For Bash commands, the hook:
59
59
 
60
60
  ## License
61
61
 
62
- MIT
62
+ Apache-2.0
@@ -37,7 +37,7 @@
37
37
  "cli"
38
38
  ],
39
39
  "author": "Hasna",
40
- "license": "MIT",
40
+ "license": "Apache-2.0",
41
41
  "repository": {
42
42
  "type": "git",
43
43
  "url": "https://github.com/hasna/open-hooks.git"
@@ -0,0 +1,25 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ESNext",
4
+ "module": "ESNext",
5
+ "lib": ["ESNext"],
6
+ "moduleResolution": "bundler",
7
+ "allowImportingTsExtensions": true,
8
+ "strict": true,
9
+ "esModuleInterop": true,
10
+ "skipLibCheck": true,
11
+ "forceConsistentCasingInFileNames": true,
12
+ "resolveJsonModule": true,
13
+ "isolatedModules": true,
14
+ "noEmit": true,
15
+ "noUnusedLocals": true,
16
+ "noUnusedParameters": true,
17
+ "declaration": true,
18
+ "declarationMap": true,
19
+ "outDir": "./dist",
20
+ "rootDir": "./src",
21
+ "types": ["bun-types"]
22
+ },
23
+ "include": ["src/**/*"],
24
+ "exclude": ["node_modules", "dist"]
25
+ }
@@ -45,4 +45,4 @@ Each line in the `.jsonl` file is a JSON object:
45
45
 
46
46
  ## License
47
47
 
48
- MIT
48
+ Apache-2.0
@@ -8,5 +8,5 @@
8
8
  "typecheck": "tsc --noEmit"
9
9
  },
10
10
  "author": "Hasna",
11
- "license": "MIT"
11
+ "license": "Apache-2.0"
12
12
  }
@@ -59,4 +59,4 @@ The hook sends a message with:
59
59
 
60
60
  ## License
61
61
 
62
- MIT
62
+ Apache-2.0
@@ -8,5 +8,5 @@
8
8
  "typecheck": "tsc --noEmit"
9
9
  },
10
10
  "author": "Hasna",
11
- "license": "MIT"
11
+ "license": "Apache-2.0"
12
12
  }
@@ -60,4 +60,4 @@ Always `{ "continue": true }` — sound plays asynchronously (fire-and-forget) a
60
60
 
61
61
  ## License
62
62
 
63
- MIT
63
+ Apache-2.0
@@ -8,5 +8,5 @@
8
8
  "typecheck": "tsc --noEmit"
9
9
  },
10
10
  "author": "Hasna",
11
- "license": "MIT"
11
+ "license": "Apache-2.0"
12
12
  }
@@ -59,4 +59,4 @@ if (/\bdeploy\b/.test(description)) {
59
59
 
60
60
  ## License
61
61
 
62
- MIT
62
+ Apache-2.0
@@ -8,5 +8,5 @@
8
8
  "typecheck": "tsc --noEmit"
9
9
  },
10
10
  "author": "Hasna",
11
- "license": "MIT"
11
+ "license": "Apache-2.0"
12
12
  }
@@ -47,4 +47,4 @@ Before allowing edits to implementation files, this hook checks whether a corres
47
47
 
48
48
  ## License
49
49
 
50
- MIT
50
+ Apache-2.0
@@ -8,5 +8,5 @@
8
8
  "typecheck": "tsc --noEmit"
9
9
  },
10
10
  "author": "Hasna",
11
- "license": "MIT"
11
+ "license": "Apache-2.0"
12
12
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hasna/hooks",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "Open source hooks library for AI coding agents - Install safety, quality, and automation hooks with a single command",
5
5
  "type": "module",
6
6
  "bin": {
@@ -19,7 +19,10 @@
19
19
  "dev": "bun run ./src/cli/index.tsx",
20
20
  "test": "bun test",
21
21
  "typecheck": "tsc --noEmit",
22
- "prepublishOnly": "bun run build"
22
+ "prepublishOnly": "bun run build",
23
+ "dashboard:dev": "cd dashboard && bun run dev",
24
+ "dashboard:build": "cd dashboard && bun run build",
25
+ "dashboard:preview": "cd dashboard && bun run preview"
23
26
  },
24
27
  "keywords": [
25
28
  "claude-code",
@@ -32,7 +35,7 @@
32
35
  "security"
33
36
  ],
34
37
  "author": "Hasna",
35
- "license": "MIT",
38
+ "license": "Apache-2.0",
36
39
  "devDependencies": {
37
40
  "@types/bun": "latest",
38
41
  "@types/react": "^18.2.0",
@@ -56,6 +59,17 @@
56
59
  "registry": "https://registry.npmjs.org",
57
60
  "access": "public"
58
61
  },
62
+ "files": [
63
+ "bin/",
64
+ "dist/",
65
+ "hooks/",
66
+ "README.md",
67
+ "LICENSE"
68
+ ],
69
+ "homepage": "https://github.com/hasna/hooks#readme",
70
+ "bugs": {
71
+ "url": "https://github.com/hasna/hooks/issues"
72
+ },
59
73
  "repository": {
60
74
  "type": "git",
61
75
  "url": "git+https://github.com/hasna/hooks.git"
@@ -1,24 +0,0 @@
1
- {
2
- "hooks": {
3
- "PreToolUse": [
4
- {
5
- "hooks": [
6
- {
7
- "type": "command",
8
- "command": "hooks run gitguard"
9
- }
10
- ],
11
- "matcher": "Bash"
12
- },
13
- {
14
- "hooks": [
15
- {
16
- "type": "command",
17
- "command": "hooks run packageage"
18
- }
19
- ],
20
- "matcher": "Bash"
21
- }
22
- ]
23
- }
24
- }
package/.npmrc.example DELETED
@@ -1,2 +0,0 @@
1
- @hasna:registry=https://registry.npmjs.org/
2
- //registry.npmjs.org/:_authToken=${NPM_TOKEN}