@devness/useai 0.1.0 → 0.3.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devness/useai",
3
- "version": "0.1.0",
3
+ "version": "0.3.1",
4
4
  "description": "Track your AI-assisted development workflow. MCP server that records usage metrics across all your AI tools.",
5
5
  "keywords": [
6
6
  "mcp",
@@ -19,7 +19,7 @@
19
19
  "license": "MIT",
20
20
  "type": "module",
21
21
  "bin": {
22
- "useai": "./dist/index.js"
22
+ "useai-mcp": "./dist/index.js"
23
23
  },
24
24
  "main": "./dist/index.js",
25
25
  "types": "./dist/index.d.ts",
@@ -28,18 +28,19 @@
28
28
  "README.md",
29
29
  "LICENSE"
30
30
  ],
31
- "scripts": {
32
- "build": "tsc",
33
- "dev": "tsc --watch",
34
- "start": "node dist/index.js"
35
- },
36
31
  "dependencies": {
32
+ "@inquirer/prompts": "^8.2.1",
37
33
  "@modelcontextprotocol/sdk": "^1.12.1",
34
+ "chalk": "^5.4.1",
35
+ "smol-toml": "^1.6.0",
36
+ "yaml": "^2.8.2",
38
37
  "zod": "^3.24.2"
39
38
  },
40
39
  "devDependencies": {
41
40
  "@types/node": "^22.13.4",
42
- "typescript": "^5.7.3"
41
+ "tsup": "^8.0.0",
42
+ "typescript": "^5.7.3",
43
+ "@useai/shared": "0.2.0"
43
44
  },
44
45
  "repository": {
45
46
  "type": "git",
@@ -48,5 +49,12 @@
48
49
  "homepage": "https://useai.dev",
49
50
  "engines": {
50
51
  "node": ">=18"
52
+ },
53
+ "scripts": {
54
+ "build": "tsc -p tsconfig.build.json",
55
+ "dev": "tsc --watch",
56
+ "bundle": "tsup src/index.ts --format esm --target node18 --no-splitting",
57
+ "typecheck": "tsc --noEmit",
58
+ "clean": "rm -rf dist"
51
59
  }
52
- }
60
+ }
package/README.md DELETED
@@ -1,127 +0,0 @@
1
- # useai
2
-
3
- **Track your AI-assisted development workflow.** MCP server that records usage metrics across all your AI coding tools.
4
-
5
- [![npm version](https://img.shields.io/npm/v/useai.svg)](https://www.npmjs.com/package/useai)
6
-
7
- ## What is useai?
8
-
9
- useai is a lightweight [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server that tracks how you use AI coding tools — Cursor, Claude Code, Windsurf, GitHub Copilot, and more.
10
-
11
- It records **how much** you use AI tools, never **what** you use them for. Think of it like a fitness tracker for your development workflow — it knows you coded for 2 hours, not what you built.
12
-
13
- ### What gets tracked
14
- - Which AI tool you're using (Cursor, Claude Code, etc.)
15
- - Session duration
16
- - Task type (coding, testing, debugging, etc.)
17
- - Programming languages used
18
- - File count (number only, never names)
19
-
20
- ### What is NEVER tracked
21
- - Your code, prompts, or responses
22
- - File names or paths
23
- - Repository or project names
24
- - Any private or sensitive data
25
-
26
- ## Quick Start
27
-
28
- ### Install in Claude Code
29
-
30
- ```bash
31
- claude mcp add useai -- npx -y useai
32
- ```
33
-
34
- ### Install in Cursor
35
-
36
- Add to your Cursor MCP settings (`.cursor/mcp.json`):
37
-
38
- ```json
39
- {
40
- "mcpServers": {
41
- "useai": {
42
- "command": "npx",
43
- "args": ["-y", "useai"],
44
- "env": {
45
- "USEAI_TOKEN": "your-token-from-useai.dev"
46
- }
47
- }
48
- }
49
- }
50
- ```
51
-
52
- ### Install in Windsurf
53
-
54
- Add to your Windsurf MCP config:
55
-
56
- ```json
57
- {
58
- "mcpServers": {
59
- "useai": {
60
- "command": "npx",
61
- "args": ["-y", "useai"],
62
- "env": {
63
- "USEAI_TOKEN": "your-token-from-useai.dev"
64
- }
65
- }
66
- }
67
- }
68
- ```
69
-
70
- ### Install in VS Code
71
-
72
- Add to your VS Code MCP settings:
73
-
74
- ```json
75
- {
76
- "mcp": {
77
- "servers": {
78
- "useai": {
79
- "command": "npx",
80
- "args": ["-y", "useai"],
81
- "env": {
82
- "USEAI_TOKEN": "your-token-from-useai.dev"
83
- }
84
- }
85
- }
86
- }
87
- }
88
- ```
89
-
90
- ## MCP Tools
91
-
92
- | Tool | Description |
93
- |------|-------------|
94
- | `useai_checkin` | Start tracking a session. Records which tool and task type. |
95
- | `useai_heartbeat` | Periodic ping during long sessions. |
96
- | `useai_session_end` | End session with summary metrics. |
97
- | `useai_stats` | View your streak, hours, rank, and tool breakdown. |
98
- | `useai_share` | Generate a shareable workflow card for social media. |
99
-
100
- ## Your Profile
101
-
102
- Once connected, visit your profile at **useai.dev/@username** to see:
103
-
104
- - Activity heatmap (GitHub-style)
105
- - AI-paired coding hours
106
- - Tool distribution
107
- - Streak and global rank
108
- - Shareable workflow card
109
-
110
- ## Privacy
111
-
112
- useai is designed with privacy as a core principle:
113
-
114
- - **Open source** — audit exactly what data is sent
115
- - **Opt-in only** — nothing is tracked without your explicit setup
116
- - **No code access** — the MCP server never reads your files or prompts
117
- - **Transparent metrics** — only timestamps, durations, and counts
118
- - **You own your data** — delete your account and all data is removed
119
-
120
- ## Links
121
-
122
- - Website: [useai.dev](https://useai.dev)
123
- - GitHub: [github.com/nabeelkausari/useai](https://github.com/nabeelkausari/useai)
124
-
125
- ## License
126
-
127
- MIT
package/dist/index.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}