a24z 1.0.8 → 1.0.11

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.
package/README.md CHANGED
@@ -1,11 +1,10 @@
1
1
  # A24Z - Claude Code Observability CLI
2
2
 
3
3
  [![npm version](https://badge.fury.io/js/a24z.svg)](https://badge.fury.io/js/a24z)
4
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
4
 
6
5
  **Monitor and analyze your Claude Code AI tool performance with comprehensive observability.**
7
6
 
8
- A24Z provides real-time insights into your AI tool usage, helping you understand performance, optimize prompts, and track success rates across your organization.
7
+ a24z provides real-time insights into your AI tool usage, helping you understand performance, optimize prompts, and track success rates across your organization.
9
8
 
10
9
  ## 🚀 Quick Start
11
10
 
@@ -15,30 +14,24 @@ A24Z provides real-time insights into your AI tool usage, helping you understand
15
14
  npm install -g a24z
16
15
  ```
17
16
 
18
- ### Setup (One Command!)
17
+ ### Setup
19
18
 
20
19
  ```bash
21
20
  # Install hooks and configure Claude Code
22
- a24z install
23
-
24
- # Login for multi-tenancy (optional)
25
- a24z login
26
-
27
- # Check everything is working
28
- a24z status
21
+ a24z install && a24z login
29
22
  ```
30
23
 
31
- **That's it!** Your Claude Code tools are now being monitored. View your dashboard at [a24z.ai](https://a24z.ai).
24
+ **That's it!** Your Claude Code tools are now being monitored. View your dashboard at [a24z.ai](https://app.a24z.ai).
32
25
 
33
26
  ## ✨ Features
34
27
 
35
- - **🔧 One-Command Installation**: Automatically configures Claude Code hooks
28
+ - **🔧 One-Command Installation**: Get up and running with just `a24z install`
36
29
  - **📊 Real-time Dashboard**: Live monitoring of all tool executions
37
- - **🏢 Multi-tenancy**: Organization-based data isolation with WorkOS auth
38
30
  - **📈 Performance Analytics**: Success rates, execution times, and trends
39
31
  - **🎯 Tool Insights**: Per-tool performance analysis and optimization suggestions
40
32
  - **🔐 Secure**: Enterprise-grade authentication and data protection
41
33
  - **⚡ Zero Configuration**: Works out of the box with sensible defaults
34
+ - **🔄 Robust Hook System**: Supports all hook types
42
35
 
43
36
  ## 📋 Commands
44
37
 
@@ -47,29 +40,31 @@ a24z status
47
40
  Installs A24Z observability hooks for Claude Code.
48
41
 
49
42
  ```bash
50
- a24z install # Use default hosted service
51
- a24z install --api-url https://your.domain # Use custom backend
43
+ a24z install claude-code
52
44
  ```
53
45
 
54
46
  **What it does:**
55
- - ✅ Copies hook scripts to `~/.claude/hooks/`
47
+
48
+ - ✅ Configures direct CLI integration with Claude Code
56
49
  - ✅ Updates `~/.claude/settings.json` automatically
57
- - ✅ Configures API endpoints
58
- - ✅ Sets up logging and error handling
50
+ - ✅ Configures API endpoints and authentication
51
+ - ✅ Sets up comprehensive hook coverage for all tool events
52
+ - ✅ Enables real-time monitoring
59
53
 
60
54
  ### `a24z login`
61
55
 
62
- Authenticate with A24Z for multi-tenancy support.
56
+ Authenticate with a24z.
63
57
 
64
58
  ```bash
65
59
  a24z login
66
60
  ```
67
61
 
68
62
  **Benefits of logging in:**
69
- - 🏢 **Organization Isolation**: Your data is kept separate from other organizations
63
+
64
+ - 🏢 **Organization Isolation**: Your data is kept in a cloud environment without hosting
70
65
  - 👥 **Team Collaboration**: Share insights with your team members
71
66
  - 🔐 **Enhanced Security**: Enterprise-grade authentication
72
- - 📊 **Advanced Analytics**: Access to organization-wide metrics
67
+ - 📊 **Advanced Analytics**: See where your Coding Agents can improve
73
68
 
74
69
  ### `a24z status`
75
70
 
@@ -80,9 +75,9 @@ a24z status
80
75
  ```
81
76
 
82
77
  **Shows:**
78
+
83
79
  - Installation status of hook scripts
84
80
  - Authentication status
85
- - API connectivity
86
81
  - Configuration details
87
82
 
88
83
  ### `a24z uninstall`
@@ -90,41 +85,84 @@ a24z status
90
85
  Remove A24Z observability hooks.
91
86
 
92
87
  ```bash
93
- a24z uninstall
88
+ a24z uninstall claude-code
94
89
  ```
95
90
 
96
91
  **What it does:**
92
+
97
93
  - 🗑️ Removes hook scripts
98
94
  - ⚙️ Cleans up Claude settings
99
95
  - 🔄 Restores original configuration
100
96
 
97
+ ### `a24z hook <tool>`
98
+
99
+ Internal command that processes hook payloads from stdin and sends them to a24z.
100
+
101
+ ```bash
102
+ a24z hook claude-code
103
+ ```
104
+
105
+ **Purpose:**
106
+
107
+ - Sends data to a24z backend for analysis
108
+ - Fire-and-forget operation - doesn't block tool execution
109
+ - Supports all hook types
110
+
111
+ **Note:** This command is called automatically by Claude Code hooks and should not be used directly by users.
112
+
101
113
  ## 🏗️ How It Works
102
114
 
103
- ### 1. Hook Installation
104
- A24Z installs lightweight bash scripts that integrate with Claude Code's native hook system:
115
+ ### 1. Direct CLI Integration
116
+
117
+ a24z configures direct CLI integration with Claude Code's native hook system:
105
118
 
106
119
  ```json
107
120
  {
108
121
  "hooks": {
109
122
  "PreToolUse": [{
110
123
  "matcher": "*",
111
- "hooks": [{ "type": "command", "command": "~/.claude/hooks/a24z-pre-hook.sh" }]
124
+ "hooks": [{ "type": "command", "command": "a24z hook claude-code" }]
112
125
  }],
113
126
  "PostToolUse": [{
114
- "matcher": "*",
115
- "hooks": [{ "type": "command", "command": "~/.claude/hooks/a24z-post-hook.sh" }]
127
+ "matcher": "*",
128
+ "hooks": [{ "type": "command", "command": "a24z hook claude-code" }]
129
+ }],
130
+ "UserPromptSubmit": [{
131
+ "matcher": "*",
132
+ "hooks": [{ "type": "command", "command": "a24z hook claude-code" }]
133
+ }],
134
+ "SessionStart": [{
135
+ "matcher": "*",
136
+ "hooks": [{ "type": "command", "command": "a24z hook claude-code" }]
137
+ }],
138
+ "SessionEnd": [{
139
+ "matcher": "*",
140
+ "hooks": [{ "type": "command", "command": "a24z hook claude-code" }]
141
+ }],
142
+ "SubagentStop": [{
143
+ "matcher": "*",
144
+ "hooks": [{ "type": "command", "command": "a24z hook claude-code" }]
145
+ }],
146
+ "Notification": [{
147
+ "matcher": "*",
148
+ "hooks": [{ "type": "command", "command": "a24z hook claude-code" }]
149
+ }],
150
+ "Stop": [{
151
+ "matcher": "*",
152
+ "hooks": [{ "type": "command", "command": "a24z hook claude-code" }]
153
+ }],
154
+ "PreCompact": [{
155
+ "matcher": "*",
156
+ "hooks": [{ "type": "command", "command": "a24z hook claude-code" }]
116
157
  }]
117
158
  }
118
159
  }
119
160
  ```
120
161
 
121
- ### 2. Data Collection
122
- - **Pre-hook**: Captures tool name, input parameters, and context before execution
123
- - **Post-hook**: Records execution results, success/failure status, and performance metrics
124
- - **Privacy**: Only metadata is collected - your actual code and sensitive data never leaves your machine
162
+ ### 2. Real-time Analysis
163
+
164
+ Data is sent to the a24z platform where it's processed to provide:
125
165
 
126
- ### 3. Real-time Analysis
127
- Data is sent to the A24Z platform where it's processed to provide:
128
166
  - Performance dashboards
129
167
  - Success rate analytics
130
168
  - Tool usage patterns
@@ -132,85 +170,19 @@ Data is sent to the A24Z platform where it's processed to provide:
132
170
 
133
171
  ## 🔧 Configuration
134
172
 
135
- ### Environment Variables
136
-
137
- ```bash
138
- # Enable debug logging
139
- export DEBUG_HOOKS=true
140
-
141
- # Custom API endpoint (for self-hosted deployments)
142
- export A24Z_API_URL=https://your-api.domain.com
143
- ```
144
-
145
173
  ### File Locations
146
174
 
147
175
  - **Config**: `~/.claude/a24z-config.json`
148
- - **Hooks**: `~/.claude/hooks/a24z-*.sh`
149
- - **Logs**: `~/.claude/a24z.log`
150
176
  - **Claude Settings**: `~/.claude/settings.json`
151
177
 
152
- ## 🏢 Enterprise & Self-Hosting
153
-
154
- ### Multi-tenancy
155
- A24Z supports full multi-tenancy with organization isolation:
156
-
157
- ```bash
158
- a24z login # Authenticate with your organization
159
- ```
160
-
161
- ### Self-Hosted Deployment
162
- Run A24Z on your own infrastructure:
163
-
164
- ```bash
165
- # Install with custom backend
166
- a24z install --api-url https://your-observability.company.com
167
-
168
- # Or set permanently
169
- export A24Z_API_URL=https://your-observability.company.com
170
- ```
171
-
172
- ## 🛠️ Development
173
-
174
- ### Local Development
175
-
176
- ```bash
177
- git clone https://github.com/your-org/a24z-observability
178
- cd packages/a24z-cli
179
- npm install
180
- npm run build
181
- npm link
182
-
183
- # Test locally
184
- a24z --help
185
- ```
186
-
187
- ### Building
188
-
189
- ```bash
190
- npm run build # Compile TypeScript to dist/
191
- ```
192
-
193
- ## 🤝 Contributing
194
-
195
- We welcome contributions! Please see our [Contributing Guide](../../CONTRIBUTING.md).
196
-
197
- ### Issues
198
-
199
- Found a bug or have a feature request? [Open an issue](https://github.com/your-org/a24z-observability/issues).
200
-
201
- ## 📄 License
202
-
203
- MIT License - see [LICENSE](LICENSE) for details.
204
-
205
178
  ## 🔗 Links
206
179
 
207
- - **Dashboard**: [a24z.dev](https://a24z.ai)
180
+ - **Dashboard**: [app.a24z.ai](https://app.a24z.ai)
208
181
  - **Documentation**: [docs.a24z.ai](https://docs.a24z.ai)
209
- - **GitHub**: [github.com/your-org/a24z-observability](https://github.com/your-org/a24z-observability)
210
- - **Support**: [support@a24z.ai](mailto:support@a24z.ai)
182
+ - **Context Engine** [a24z Memory](https://www.github.com/a24z-memory/a24z-memory)
211
183
 
212
184
  ---
213
185
 
214
- **Made with ❤️ by the A24Z Team**
186
+ ## ❤️ Made by the a24z Team
215
187
 
216
188
  *Transform your AI development workflow with comprehensive observability.*
package/bin/a24z.js CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  // This is the NPM bin entry point that loads the compiled TypeScript
4
4
  import('../dist/index.js').catch(error => {
5
- console.error('Failed to load A24Z CLI:', error);
5
+ console.error('Failed to load a24z CLI:', error);
6
6
  process.exit(1);
7
7
  });
package/dist/index.js CHANGED
@@ -9,8 +9,6 @@ import os from 'os';
9
9
  import { fileURLToPath } from 'url';
10
10
  import axios from 'axios';
11
11
  import open from 'open';
12
- import dotenv from "dotenv";
13
- dotenv.config();
14
12
  // Single source of truth for WorkOS client ID.
15
13
  // If you change the client, update this constant and publish.
16
14
  const WORKOS_CLIENT_ID = "client_01K4ZPKST26YPKMQBGQW7HZ4SB";
@@ -19,8 +17,41 @@ const __dirname = path.dirname(__filename);
19
17
  // Configuration constants
20
18
  const CLAUDE_DIR = path.join(os.homedir(), '.claude');
21
19
  const CLAUDE_SETTINGS_FILE = path.join(CLAUDE_DIR, 'settings.json');
22
- const HOOKS_DIR = path.join(CLAUDE_DIR, 'hooks');
23
20
  const CONFIG_FILE = path.join(CLAUDE_DIR, 'a24z-config.json');
21
+ // Supported tools and their validation
22
+ // Currently only supporting Claude Code
23
+ const SUPPORTED_TOOLS = [
24
+ 'claude-code'
25
+ ];
26
+ /**
27
+ * Validates that a tool name is supported
28
+ */
29
+ function validateTool(tool) {
30
+ const normalizedTool = tool.toLowerCase().trim();
31
+ // Check if tool is supported
32
+ if (!SUPPORTED_TOOLS.includes(normalizedTool)) {
33
+ throw new Error(`Unsupported tool: '${tool}'. Supported tools: ${SUPPORTED_TOOLS.join(', ')}`);
34
+ }
35
+ return normalizedTool;
36
+ }
37
+ /**
38
+ * Sanitizes input to prevent injection attacks and normalize data
39
+ */
40
+ function sanitizeInput(input, maxLength = 255) {
41
+ if (typeof input !== 'string') {
42
+ throw new Error('Input must be a string');
43
+ }
44
+ return input
45
+ .trim()
46
+ .substring(0, maxLength)
47
+ .replace(/[<>"/\\&'"]/g, ''); // Remove dangerous characters
48
+ }
49
+ /**
50
+ * Safely handles potentially undefined/null values
51
+ */
52
+ function safe(value, fallback) {
53
+ return value === null || value === undefined ? fallback : value;
54
+ }
24
55
  class A24zCLI {
25
56
  constructor() {
26
57
  this.config = this.loadConfig();
@@ -38,7 +69,8 @@ class A24zCLI {
38
69
  apiUrl: 'https://app.a24z.ai',
39
70
  clientId: WORKOS_CLIENT_ID,
40
71
  accessToken: null,
41
- installedAt: null
72
+ installedAt: null,
73
+ tool: null
42
74
  };
43
75
  return defaultConfig;
44
76
  }
@@ -51,37 +83,68 @@ class A24zCLI {
51
83
  console.error(chalk.red('Error saving configuration:'), error);
52
84
  }
53
85
  }
54
- async install(options = {}) {
55
- console.log('api url', options.apiUrl);
56
- const spinner = ora('Installing A24Z Claude Code hooks...').start();
86
+ getCurrentTool() {
87
+ // Check if we have tool-specific config or use default
88
+ try {
89
+ if (fs.existsSync(CONFIG_FILE)) {
90
+ const config = JSON.parse(fs.readFileSync(CONFIG_FILE, 'utf8'));
91
+ return config.tool || null;
92
+ }
93
+ }
94
+ catch (error) {
95
+ // ignore errors
96
+ }
97
+ return null;
98
+ }
99
+ async install(tool, options = {}) {
100
+ // Validate and sanitize tool input
101
+ let validatedTool;
102
+ try {
103
+ validatedTool = validateTool(tool);
104
+ }
105
+ catch (error) {
106
+ console.error(chalk.red('❌ Error:'), error instanceof Error ? error.message : error);
107
+ process.exit(1);
108
+ }
109
+ // Sanitize API URL if provided
110
+ if (options.apiUrl) {
111
+ try {
112
+ options.apiUrl = sanitizeInput(options.apiUrl, 500); // URLs can be longer
113
+ // Basic URL validation
114
+ const url = new URL(options.apiUrl);
115
+ if (!url.protocol.startsWith('http')) {
116
+ throw new Error('API URL must use HTTP or HTTPS protocol');
117
+ }
118
+ }
119
+ catch (error) {
120
+ console.error(chalk.red('❌ Error: Invalid API URL:'), error instanceof Error ? error.message : error);
121
+ process.exit(1);
122
+ }
123
+ }
124
+ const spinner = ora(`Installing A24Z hooks for ${validatedTool}...`).start();
57
125
  try {
58
126
  // Update configuration if provided
59
127
  if (options.apiUrl) {
60
128
  this.config.apiUrl = options.apiUrl;
61
129
  }
62
- if (options.clientId) {
63
- this.config.clientId = options.clientId;
64
- }
65
- // Ensure directories exist
66
- fs.mkdirSync(HOOKS_DIR, { recursive: true });
67
130
  // Copy hook scripts from templates
68
131
  await this.copyHookScripts();
69
132
  // Update Claude settings.json
70
133
  this.updateClaudeSettings();
71
134
  // Update configuration
72
135
  this.config.installedAt = new Date().toISOString();
136
+ this.config.tool = validatedTool; // Save the validated tool name
73
137
  this.saveConfig();
74
- spinner.succeed('A24Z hooks installed successfully!');
75
- console.log(chalk.green('\\n✅ Installation Complete!'));
76
- console.log(chalk.cyan('\\n📋 Next steps:'));
138
+ spinner.succeed(`A24Z hooks installed successfully for ${validatedTool}!`);
139
+ console.log(chalk.green('\✅ Installation Complete!'));
140
+ console.log(chalk.cyan('\📋 Next steps:'));
77
141
  console.log(chalk.white(' 1. Login to associate logs with your organization:'), chalk.yellow('a24z login'));
78
- console.log(chalk.white(' 2. Check installation status:'), chalk.yellow('a24z status'));
79
- console.log(chalk.white(' 3. Begin using Claude Code - your tools will be automatically monitored'));
80
- console.log(chalk.cyan('\\n🔧 Configuration:'));
81
- console.log(chalk.white(` • Hooks directory: ${HOOKS_DIR}`));
142
+ console.log(chalk.white(' 2. Check installation status:'), chalk.yellow(`a24z status`));
143
+ console.log(chalk.white(` 3. Begin using ${tool} - your tools will be automatically monitored`));
144
+ console.log(chalk.cyan('\🔧 Configuration:'));
145
+ console.log(chalk.white(` • Tool: ${tool}`));
82
146
  console.log(chalk.white(` • Settings file: ${CLAUDE_SETTINGS_FILE}`));
83
147
  console.log(chalk.white(` • API URL: ${this.config.apiUrl}`));
84
- console.log(chalk.white(` • Client ID: ${this.config.clientId}`));
85
148
  }
86
149
  catch (error) {
87
150
  spinner.fail('Installation failed');
@@ -90,46 +153,9 @@ class A24zCLI {
90
153
  }
91
154
  }
92
155
  async copyHookScripts() {
93
- const templatesDir = path.join(__dirname, '..', 'templates');
94
- // Use single universal collector for all hook types - much more maintainable!
95
- const universalTemplate = 'universal-collector.sh';
96
- const hookDestinations = [
97
- 'a24z-pre-hook.sh',
98
- 'a24z-post-hook.sh',
99
- 'a24z-user-prompt-submit-hook.sh',
100
- 'a24z-session-start-hook.sh',
101
- 'a24z-session-end-hook.sh',
102
- 'a24z-subagent-stop-hook.sh',
103
- 'a24z-notification-hook.sh',
104
- 'a24z-stop-hook.sh',
105
- 'a24z-precompact-hook.sh'
106
- ];
107
- try {
108
- // Read the universal template once
109
- const templatePath = path.join(templatesDir, universalTemplate);
110
- const templateContent = fs.readFileSync(templatePath, 'utf8');
111
- // Replace placeholders with actual values
112
- const hookContent = templateContent
113
- .replace(/\{\{API_URL\}\}/g, this.config.apiUrl)
114
- .replace(/\{\{ACCESS_TOKEN\}\}/g, this.config.accessToken || '');
115
- // Copy the same universal script to all hook locations
116
- // The script auto-detects its hook type at runtime
117
- for (const destination of hookDestinations) {
118
- try {
119
- const hookPath = path.join(HOOKS_DIR, destination);
120
- fs.writeFileSync(hookPath, hookContent);
121
- fs.chmodSync(hookPath, '755');
122
- }
123
- catch (error) {
124
- console.error(chalk.yellow(`Warning: Could not create ${destination}:`, error));
125
- }
126
- }
127
- console.log(chalk.green(`✅ Universal collector deployed to ${hookDestinations.length} hook locations`));
128
- }
129
- catch (error) {
130
- console.error(chalk.red(`❌ Failed to read universal template ${universalTemplate}:`, error));
131
- throw error;
132
- }
156
+ // No shell scripts needed! Tools call CLI directly
157
+ console.log(chalk.green('✅ Direct CLI integration configured'));
158
+ console.log(chalk.cyan('💡 No shell scripts - direct CLI calls for maximum transparency'));
133
159
  }
134
160
  updateClaudeSettings() {
135
161
  let settings = {};
@@ -146,21 +172,22 @@ class A24zCLI {
146
172
  if (typeof settings.hooks !== 'object' || settings.hooks === null) {
147
173
  settings.hooks = {};
148
174
  }
149
- // Configure all A24Z hooks for comprehensive observability using "dumb" collectors
150
- this.addOrUpdateHook(settings, 'PreToolUse', path.join(HOOKS_DIR, 'a24z-pre-hook.sh'));
151
- this.addOrUpdateHook(settings, 'PostToolUse', path.join(HOOKS_DIR, 'a24z-post-hook.sh'));
152
- this.addOrUpdateHook(settings, 'UserPromptSubmit', path.join(HOOKS_DIR, 'a24z-user-prompt-submit-hook.sh'));
153
- this.addOrUpdateHook(settings, 'SessionStart', path.join(HOOKS_DIR, 'a24z-session-start-hook.sh'));
154
- this.addOrUpdateHook(settings, 'SessionEnd', path.join(HOOKS_DIR, 'a24z-session-end-hook.sh'));
155
- this.addOrUpdateHook(settings, 'SubagentStop', path.join(HOOKS_DIR, 'a24z-subagent-stop-hook.sh'));
156
- this.addOrUpdateHook(settings, 'Notification', path.join(HOOKS_DIR, 'a24z-notification-hook.sh'));
157
- this.addOrUpdateHook(settings, 'Stop', path.join(HOOKS_DIR, 'a24z-stop-hook.sh'));
158
- this.addOrUpdateHook(settings, 'PreCompact', path.join(HOOKS_DIR, 'a24z-precompact-hook.sh'));
175
+ // Configure direct CLI calls with tool-specific endpoints
176
+ // Tools call "a24z hook claude-code" for tool-specific processing
177
+ const directCliCommand = `a24z hook ${this.config.tool || 'claude-code'}`;
178
+ // Configure the same direct CLI command for all hook types
179
+ const hookTypes = [
180
+ 'PreToolUse', 'PostToolUse', 'UserPromptSubmit',
181
+ 'SessionStart', 'SessionEnd', 'SubagentStop',
182
+ 'Notification', 'Stop', 'PreCompact'
183
+ ];
184
+ for (const hookType of hookTypes) {
185
+ this.addOrUpdateHook(settings, hookType, directCliCommand);
186
+ }
159
187
  // Create directory and write settings
160
188
  fs.mkdirSync(path.dirname(CLAUDE_SETTINGS_FILE), { recursive: true });
161
189
  fs.writeFileSync(CLAUDE_SETTINGS_FILE, JSON.stringify(settings, null, 2));
162
190
  }
163
- // No binary helper shim; hooks will call `a24z hook` directly for transparency.
164
191
  /**
165
192
  * Merge-safe helper: adds our command without duplicating or overwriting others.
166
193
  * - Creates the hook type array if missing
@@ -179,7 +206,8 @@ class A24zCLI {
179
206
  settings.hooks[hookType] = [newEntry];
180
207
  return;
181
208
  }
182
- const hasOurCommand = existing.some(e => e.hooks.some(h => typeof h.command === 'string' && h.command.includes('a24z-')));
209
+ const toolName = this.config.tool || 'claude-code';
210
+ const hasOurCommand = existing.some(e => e.hooks.some(h => typeof h.command === 'string' && h.command.includes('a24z') && h.command.includes(toolName)));
183
211
  if (!hasOurCommand) {
184
212
  existing.push(newEntry);
185
213
  return;
@@ -205,7 +233,7 @@ class A24zCLI {
205
233
  // Ensure we have the latest client ID from environment
206
234
  if (!this.config.clientId || this.config.clientId === 'client_01K4ZPKST26YPKMQBGQW7HZ4SB') {
207
235
  this.config.clientId = process.env.WORKOS_CLIENT_ID || this.config.clientId;
208
- this.saveConfig(); // Save the updated config
236
+ this.saveConfig();
209
237
  }
210
238
  // Step 1: Request device authorization (OAuth 2.1 Device Flow)
211
239
  console.log(chalk.gray(`Requesting device auth from: ${this.config.apiUrl}/api/auth/device`));
@@ -216,7 +244,7 @@ class A24zCLI {
216
244
  console.log(chalk.gray('Device response:', JSON.stringify(deviceResponse.data, null, 2)));
217
245
  const { device_code, user_code, verification_uri, verification_uri_complete, expires_in, interval } = deviceResponse.data.data;
218
246
  // Step 2: Display user code and instructions
219
- console.log(chalk.green('\\n📱 Complete authentication in your browser:'));
247
+ console.log(chalk.green('📱 Complete authentication in your browser:'));
220
248
  console.log(chalk.cyan(` Go to: ${verification_uri}`));
221
249
  console.log(chalk.yellow(` Enter code: ${user_code}`));
222
250
  if (verification_uri_complete) {
@@ -240,17 +268,16 @@ class A24zCLI {
240
268
  // Step 4: Store tokens
241
269
  this.config.accessToken = tokens.access_token;
242
270
  this.saveConfig();
243
- // Reinstall hooks with updated auth
244
- await this.install();
245
- console.log(chalk.green('\\n✅ Login successful!'));
271
+ console.log(chalk.green('✅ Login successful!'));
246
272
  if (tokens.user?.email) {
247
273
  console.log(chalk.white('👤 User:'), chalk.cyan(tokens.user.email));
248
274
  }
249
- console.log(chalk.green('\\nYour tool calls will now be associated with your organization.'));
275
+ console.log(chalk.green('Your tool calls will now be associated with your organization.'));
276
+ console.log(chalk.cyan('💡 Tip: Run "a24z install <tool>" to set up hooks for your preferred AI tool'));
250
277
  }
251
278
  catch (error) {
252
279
  console.error(chalk.red('❌ Login failed:'), error);
253
- console.log(chalk.yellow('\\nMake sure the A24Z service is available and try again.'));
280
+ console.log(chalk.yellow('Make sure the A24Z service is available and try again.'));
254
281
  process.exit(1);
255
282
  }
256
283
  }
@@ -299,32 +326,18 @@ class A24zCLI {
299
326
  }
300
327
  throw new Error('Authentication timeout');
301
328
  }
302
- async uninstall() {
303
- const spinner = ora('Uninstalling A24Z hooks...').start();
329
+ async uninstall(tool) {
330
+ // Validate tool input
331
+ let validatedTool;
332
+ try {
333
+ validatedTool = validateTool(tool);
334
+ }
335
+ catch (error) {
336
+ console.error(chalk.red('❌ Error:'), error instanceof Error ? error.message : error);
337
+ process.exit(1);
338
+ }
339
+ const spinner = ora(`Uninstalling A24Z hooks for ${validatedTool}...`).start();
304
340
  try {
305
- // Remove all A24Z hook scripts
306
- const hookFiles = [
307
- 'a24z-pre-hook.sh',
308
- 'a24z-post-hook.sh',
309
- 'a24z-user-prompt-submit-hook.sh',
310
- 'a24z-session-start-hook.sh',
311
- 'a24z-session-end-hook.sh',
312
- 'a24z-subagent-stop-hook.sh',
313
- 'a24z-notification-hook.sh',
314
- 'a24z-stop-hook.sh',
315
- 'a24z-precompact-hook.sh'
316
- ];
317
- for (const hookFile of hookFiles) {
318
- const hookPath = path.join(HOOKS_DIR, hookFile);
319
- if (fs.existsSync(hookPath)) {
320
- try {
321
- fs.unlinkSync(hookPath);
322
- }
323
- catch (error) {
324
- console.warn(chalk.yellow(`Warning: Could not remove ${hookFile}`));
325
- }
326
- }
327
- }
328
341
  // Update Claude settings: remove only our hooks, preserve all other user hooks/settings
329
342
  if (fs.existsSync(CLAUDE_SETTINGS_FILE)) {
330
343
  try {
@@ -341,7 +354,8 @@ class A24zCLI {
341
354
  entry.hooks = entry.hooks.filter(h => {
342
355
  if (typeof h.command !== 'string')
343
356
  return true;
344
- return !h.command.includes('a24z-');
357
+ // Remove commands that include both 'a24z' and the validated tool
358
+ return !(h.command.includes('a24z') && h.command.includes(validatedTool));
345
359
  });
346
360
  }
347
361
  }
@@ -355,7 +369,6 @@ class A24zCLI {
355
369
  }
356
370
  }
357
371
  }
358
- // Keep hooks object even if empty to avoid surprising deletions
359
372
  }
360
373
  }
361
374
  fs.writeFileSync(CLAUDE_SETTINGS_FILE, JSON.stringify(parsed, null, 2));
@@ -368,8 +381,8 @@ class A24zCLI {
368
381
  if (fs.existsSync(CONFIG_FILE)) {
369
382
  fs.unlinkSync(CONFIG_FILE);
370
383
  }
371
- spinner.succeed('A24Z hooks uninstalled successfully!');
372
- console.log(chalk.green('\\nClaude Code will no longer send observability data.'));
384
+ spinner.succeed(`A24Z hooks uninstalled successfully for ${tool}!`);
385
+ console.log(chalk.green(`${tool} will no longer send observability data.`));
373
386
  }
374
387
  catch (error) {
375
388
  spinner.fail('Uninstallation failed');
@@ -378,81 +391,33 @@ class A24zCLI {
378
391
  }
379
392
  }
380
393
  async status() {
381
- console.log(chalk.blue('📊 A24Z Observability Status\\n'));
382
- // Check installation of all hook types
383
- const hookChecks = [
384
- { name: 'PreToolUse', file: 'a24z-pre-hook.sh' },
385
- { name: 'PostToolUse', file: 'a24z-post-hook.sh' },
386
- { name: 'UserPromptSubmit', file: 'a24z-user-prompt-submit-hook.sh' },
387
- { name: 'SessionStart', file: 'a24z-session-start-hook.sh' },
388
- { name: 'SessionEnd', file: 'a24z-session-end-hook.sh' },
389
- { name: 'SubagentStop', file: 'a24z-subagent-stop-hook.sh' },
390
- { name: 'Notification', file: 'a24z-notification-hook.sh' },
391
- { name: 'Stop', file: 'a24z-stop-hook.sh' },
392
- { name: 'PreCompact', file: 'a24z-precompact-hook.sh' }
393
- ];
394
- const settingsExists = fs.existsSync(CLAUDE_SETTINGS_FILE);
395
- let installedHooks = 0;
396
- console.log(chalk.white('🔧 Hook Installation Status:'));
397
- for (const hook of hookChecks) {
398
- const exists = fs.existsSync(path.join(HOOKS_DIR, hook.file));
399
- if (exists)
400
- installedHooks++;
401
- console.log(` • ${hook.name}: ${exists ? chalk.green('✅ Installed') : chalk.red('❌ Not installed')}`);
402
- }
403
- console.log(`\\n • Total hooks installed: ${chalk.cyan(`${installedHooks}/9`)}`);
404
- console.log(` • Claude settings: ${settingsExists ? chalk.green('✅ Configured') : chalk.red('❌ Not configured')}`);
405
- console.log(` • Collector type: ${chalk.cyan('Universal (auto-detecting)')}`);
406
- console.log(` • Collector version: ${chalk.cyan('2.1-universal-enhanced')}`);
394
+ console.log(chalk.blue('📊 A24Z Observability Status'));
395
+ const currentTool = this.getCurrentTool();
396
+ console.log(chalk.white('🔧 Installation Status:'));
397
+ console.log(` • Direct CLI integration: ${chalk.green(' Configured')}`);
398
+ if (currentTool) {
399
+ console.log(` • Current tool: ${chalk.cyan(currentTool)}`);
400
+ }
407
401
  if (this.config.installedAt) {
408
402
  console.log(` • Installed at: ${chalk.cyan(new Date(this.config.installedAt).toLocaleString())}`);
409
403
  }
410
- // Show universal collector benefits
411
- if (installedHooks > 0) {
412
- console.log(chalk.white('\\n🎯 Universal Collector Features:'));
413
- console.log(` • Auto-detects hook type from environment`);
414
- console.log(` • Tool version detection (Claude Code, Cursor, VS Code)`);
415
- console.log(` • Schema versioning support`);
416
- console.log(` • Single codebase for all hooks (maintainable)`);
417
- console.log(` • Enhanced/basic endpoint routing`);
418
- }
419
- console.log(chalk.white('\\n🔐 Authentication Status:'));
404
+ console.log(` • CLI version: ${chalk.cyan(getCliVersion())}`);
405
+ console.log(chalk.white('🔐 Authentication Status:'));
420
406
  console.log(` • Logged in: ${this.config.accessToken ? chalk.green('✅ Yes') : chalk.red('❌ No')}`);
421
- console.log(chalk.white('\\n⚙️ Configuration:'));
407
+ console.log(chalk.white('⚙️ Configuration:'));
422
408
  console.log(` • API URL: ${chalk.cyan(this.config.apiUrl)}`);
423
- console.log(` • Client ID: ${chalk.cyan(this.config.clientId)}`);
424
- console.log(` • Hooks directory: ${chalk.cyan(HOOKS_DIR)}`);
425
409
  console.log(` • Settings file: ${chalk.cyan(CLAUDE_SETTINGS_FILE)}`);
426
- // Test API connectivity
427
- console.log(chalk.white('\\n🌐 Testing API connectivity...'));
428
- await this.testConnection();
429
410
  }
430
- async testConnection() {
411
+ async hook(tool = 'claude-code') {
412
+ // Validate tool input
413
+ let validatedTool;
431
414
  try {
432
- const headers = {};
433
- if (this.config.accessToken) {
434
- headers.Authorization = `Bearer ${this.config.accessToken}`;
435
- }
436
- const response = await axios.get(`${this.config.apiUrl}/api/v1/health`, { headers });
437
- if (response.status === 200) {
438
- console.log(` ${chalk.green('✅ API is reachable')}`);
439
- if (this.config.accessToken) {
440
- console.log(` ${chalk.green('🔐 Authentication verified')}`);
441
- }
442
- }
415
+ validatedTool = validateTool(tool);
443
416
  }
444
417
  catch (error) {
445
- if (error.response?.status === 401) {
446
- console.log(` ${chalk.yellow('⚠️ API is reachable but authentication failed')}`);
447
- console.log(` ${chalk.white('Run:')} ${chalk.yellow('a24z login')}`);
448
- }
449
- else {
450
- console.log(` ${chalk.red('❌ API is not reachable')}`);
451
- console.log(` ${chalk.white('Make sure the A24Z service is running')}`);
452
- }
418
+ console.error('[a24z hook] Error: Invalid tool name:', error instanceof Error ? error.message : error);
419
+ return; // Don't exit to avoid breaking Claude
453
420
  }
454
- }
455
- async hook(hookTypeArg) {
456
421
  // Read stdin fully
457
422
  const readStdin = async () => new Promise((resolve) => {
458
423
  let data = '';
@@ -463,67 +428,32 @@ class A24zCLI {
463
428
  });
464
429
  try {
465
430
  const raw = await readStdin();
466
- const hookType = hookTypeArg || process.env.CLAUDE_HOOK_EVENT_NAME || 'Unknown';
467
- // Build environment snapshot
468
- const safe = (v) => (v && v.length > 0 ? v : null);
469
- const environment = {
470
- CLAUDE_USER: safe(process.env.CLAUDE_USER),
471
- CLAUDE_SESSION_ID: safe(process.env.CLAUDE_SESSION_ID),
472
- CLAUDE_PROJECT_DIR: safe(process.env.CLAUDE_PROJECT_DIR),
473
- CLAUDE_TRANSCRIPT_PATH: safe(process.env.CLAUDE_TRANSCRIPT_PATH),
474
- CLAUDE_WORKING_DIR: safe(process.env.CLAUDE_WORKING_DIR),
475
- CLAUDE_HOOK_EVENT_NAME: hookType,
476
- CLAUDE_VERSION: safe(process.env.CLAUDE_VERSION),
477
- CLAUDE_BUILD: safe(process.env.CLAUDE_BUILD),
478
- PWD: safe(process.env.PWD),
479
- USER: safe(process.env.USER),
480
- HOME: safe(process.env.HOME),
481
- HOSTNAME: safe(process.env.HOSTNAME),
482
- SHELL: safe(process.env.SHELL),
483
- LANG: safe(process.env.LANG),
484
- TZ: safe(process.env.TZ),
485
- TERM: safe(process.env.TERM),
486
- NODE_VERSION: process.version,
487
- captured_at: new Date().toISOString(),
488
- };
489
- const enhanced = typeof environment.CLAUDE_VERSION === 'string' && environment.CLAUDE_VERSION !== null;
490
- const endpoint = `${this.config.apiUrl}/api/v1/hooks/ingest`; // Unified endpoint handles both enhanced and basic data
491
- let rawInput = raw;
492
- try {
493
- rawInput = JSON.parse(raw);
494
- }
495
- catch { /* raw passthrough */ }
496
- const payload = enhanced
497
- ? {
498
- source_tool: { name: 'claude-code', version: environment.CLAUDE_VERSION, build: environment.CLAUDE_BUILD },
499
- hook_schema: { version: 'v1.0', format: 'anthropic_official', detected_at: new Date().toISOString() },
500
- hook_type: hookType,
501
- timestamp: new Date().toISOString(),
502
- raw_input: rawInput,
503
- environment,
504
- collector_metadata: {
505
- version: '2.1-cli-helper',
506
- deployment_mode: 'cli_subcommand',
507
- configuration_version: '1.0',
508
- enhanced_features: ['thin_wrapper', 'env_snapshot'],
509
- hook_type_detection_method: 'arg_or_env'
510
- }
511
- }
512
- : {
513
- hook_type: hookType,
514
- timestamp: new Date().toISOString(),
515
- raw_input: rawInput,
516
- environment,
517
- collector_version: '2.1-cli-basic'
518
- };
431
+ // Minimal processing - just send raw data to backend for obfuscation
432
+ const endpoint = `${this.config.apiUrl}/api/v1/${validatedTool}/hooks`;
433
+ console.error(`[a24z CLI] 📤 Sending raw payload to ${endpoint}`);
434
+ // Send raw data - let backend handle all processing
519
435
  const headers = { 'Content-Type': 'application/json' };
520
436
  if (this.config.accessToken)
521
437
  headers.Authorization = `Bearer ${this.config.accessToken}`;
522
- await axios.post(endpoint, payload, { headers, timeout: 10000 });
438
+ // Fire-and-forget: Don't wait for response to avoid blocking Claude
439
+ axios.post(endpoint, raw, { headers, timeout: 5000 })
440
+ .then((response) => {
441
+ console.error(`[a24z CLI] ✅ Successfully sent raw data`);
442
+ })
443
+ .catch((error) => {
444
+ console.error(`[a24z CLI] ❌ Failed to send: ${error.message}`);
445
+ // Check for authentication errors
446
+ if (error.response?.status === 401) {
447
+ const authError = error.response.data?.error || 'Authentication required';
448
+ console.error(`[a24z CLI] 🔐 Authentication failed: ${authError}`);
449
+ console.error(`[a24z CLI] 💡 Please run 'a24z login' to authenticate`);
450
+ console.error(`[a24z CLI] 📊 Your tools will continue to work, but data won't be logged until authenticated`);
451
+ }
452
+ });
453
+ console.error(`[a24z CLI] Raw payload dispatched (fire-and-forget)`);
523
454
  }
524
455
  catch (error) {
525
- // Log to stderr but don't fail the hook
526
- console.error('[a24z hook] Error:', error instanceof Error ? error.message : error);
456
+ console.error('[a24z hook] Error sending payload:', error instanceof Error ? error.message : error);
527
457
  }
528
458
  finally {
529
459
  // Always pass through stdin unchanged
@@ -552,24 +482,47 @@ function getCliVersion() {
552
482
  }
553
483
  return "0.0.0";
554
484
  }
485
+ /**
486
+ * Cool a24z ASCII logo
487
+ */
488
+ function getA24zLogo() {
489
+ return `
490
+ ░▒▓██████▓▒░░▒▓███████▓▒░░▒▓█▓▒░░▒▓█▓▒░▒▓████████▓▒░
491
+ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░
492
+ ░▒▓█▓▒░░▒▓█▓▒░ ░▒▓█▓▒░▒▓█▓▒░░▒▓█▓▒░ ░▒▓██▓▒░
493
+ ░▒▓████████▓▒░░▒▓██████▓▒░░▒▓████████▓▒░ ░▒▓██▓▒░
494
+ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░░▒▓██▓▒░
495
+ ░▒▓█▓▒░░▒▓█▓▒░▒▓█▓▒░ ░▒▓█▓▒░▒▓█▓▒░
496
+ ░▒▓█▓▒░░▒▓█▓▒░▒▓████████▓▒░ ░▒▓█▓▒░▒▓████████▓▒░
497
+ `;
498
+ }
499
+ ;
555
500
  program
556
501
  .name('a24z')
557
- .description('Claude Code Observability CLI - Monitor and analyze your AI tool performance')
558
- .version(getCliVersion());
502
+ .description(`${getA24zLogo()}
503
+ Monitor and analyze your Coding Agents`)
504
+ .version(getCliVersion()).showHelpAfterError().showSuggestionAfterError(true);
505
+ // Add custom version command with logo
506
+ program
507
+ .command('version')
508
+ .description('Show version information with logo')
509
+ .action(() => {
510
+ console.log(getA24zLogo());
511
+ console.log(chalk.cyan(`A24Z Observability CLI v${getCliVersion()}`));
512
+ console.log('');
513
+ });
559
514
  program
560
- .command('install')
561
- .description('Install A24Z observability hooks for Claude Code')
562
- .option('--api-url <url>', 'Set the A24Z API URL')
563
- .option('--client-id <id>', 'Set the WorkOS client ID for authentication')
564
- .action(async (options) => {
565
- await cli.install({
515
+ .command('install <tool>')
516
+ .description('Install A24Z observability hooks for a specific tool')
517
+ .option('--api-url <url>', 'Set the a24z api url')
518
+ .action(async (tool, options) => {
519
+ await cli.install(tool, {
566
520
  apiUrl: options.apiUrl,
567
- clientId: options.clientId,
568
521
  });
569
522
  });
570
523
  program
571
524
  .command('login')
572
- .description('Authenticate with A24Z for multi-tenancy')
525
+ .description('Authenticate with A24Z')
573
526
  .action(async () => {
574
527
  await cli.login();
575
528
  });
@@ -580,18 +533,16 @@ program
580
533
  await cli.status();
581
534
  });
582
535
  program
583
- .command('uninstall')
584
- .description('Remove A24Z observability hooks')
585
- .action(async () => {
586
- await cli.uninstall();
536
+ .command('uninstall <tool>')
537
+ .description('Remove A24Z observability hooks for a specific tool')
538
+ .action(async (tool) => {
539
+ await cli.uninstall(tool);
587
540
  });
588
541
  program
589
- .command('hook')
590
- .description('Internal: process a Claude hook payload from stdin and send to A24Z')
591
- .option('--type <hookType>', 'Hook type (e.g., PreToolUse, PostToolUse)')
592
- .action(async (options) => {
593
- await cli.hook(options.type);
542
+ .command('hook <tool>')
543
+ .description('Internal: process a hook payload from stdin and send to A24Z')
544
+ .action(async (tool) => {
545
+ await cli.hook(tool);
594
546
  });
595
- // Parse command line arguments
596
547
  program.parse();
597
548
  //# sourceMappingURL=index.js.map
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": "a24z",
3
- "version": "1.0.8",
3
+ "version": "1.0.11",
4
4
  "description": "AI Agent Observability CLI - Monitor and analyze your AI tool performance",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -10,7 +10,6 @@
10
10
  "files": [
11
11
  "bin/",
12
12
  "dist/",
13
- "templates/",
14
13
  "README.md"
15
14
  ],
16
15
  "keywords": [
@@ -23,19 +22,12 @@
23
22
  "analytics",
24
23
  "performance"
25
24
  ],
26
- "author": "A24Z Team",
27
- "license": "MIT",
28
- "repository": {
29
- "type": "git",
30
- "url": "https://github.com/brandonin/a24z-observability.git",
31
- "directory": "packages/a24z-cli"
32
- },
25
+ "author": "a24z",
33
26
  "homepage": "https://a24z.ai",
34
27
  "dependencies": {
35
28
  "axios": "^1.6.2",
36
29
  "chalk": "^5.3.0",
37
30
  "commander": "^11.1.0",
38
- "dotenv": "^17.2.2",
39
31
  "inquirer": "^9.2.12",
40
32
  "open": "^9.1.0",
41
33
  "ora": "^7.0.1"
@@ -50,7 +42,6 @@
50
42
  "node": ">=16.0.0"
51
43
  },
52
44
  "scripts": {
53
- "build": "tsc",
54
- "test": "echo \"Error: no test specified\" && exit 1"
45
+ "build": "tsc"
55
46
  }
56
47
  }
@@ -1,35 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
-
4
- set -euo pipefail
5
-
6
- CMD="a24z hook"
7
-
8
- # Derive hook type from env or script name
9
- HOOK_NAME="$(basename "$0")"
10
- HOOK_TYPE="${CLAUDE_HOOK_EVENT_NAME:-}"
11
- if [ -z "$HOOK_TYPE" ]; then
12
- case "$HOOK_NAME" in
13
- *pre-hook*) HOOK_TYPE="PreToolUse" ;;
14
- *post-hook*) HOOK_TYPE="PostToolUse" ;;
15
- *user-prompt-submit*) HOOK_TYPE="UserPromptSubmit" ;;
16
- *session-start*) HOOK_TYPE="SessionStart" ;;
17
- *session-end*) HOOK_TYPE="SessionEnd" ;;
18
- *subagent-stop*) HOOK_TYPE="SubagentStop" ;;
19
- *notification*) HOOK_TYPE="Notification" ;;
20
- *stop-hook*) HOOK_TYPE="Stop" ;;
21
- *precompact*) HOOK_TYPE="PreCompact" ;;
22
- *) HOOK_TYPE="Unknown" ;;
23
- esac
24
- fi
25
-
26
- # Read stdin and pass through to CLI subcommand
27
- STDIN_DATA=$(cat)
28
-
29
- if command -v a24z >/dev/null 2>&1; then
30
- printf "%s" "$STDIN_DATA" | a24z hook --type "$HOOK_TYPE" || true
31
- else
32
- echo "[a24z] CLI not found in PATH; passing through input" >&2
33
- # If CLI not found, pass-through so Claude continues unaffected
34
- printf "%s" "$STDIN_DATA"
35
- fi