ai-native-profile 0.1.0 → 0.1.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/README.md +115 -0
- package/bin/anp.mjs +1 -1
- package/package.json +2 -2
package/README.md
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# AI Native Profile Collector
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/ai-native-profile)
|
|
4
|
+
[](https://github.com/Gaurav890/ai-native-profile/blob/main/LICENSE)
|
|
5
|
+
|
|
6
|
+
Connect local AI coding activity to a private [AI Native Profile](https://ai-native-profile.vercel.app), then choose what to publish on your profile or GitHub README.
|
|
7
|
+
|
|
8
|
+
The collector runs directly with `npx`; no global installation is required. It discovers supported tools, builds aggregate activity locally, lets you inspect the exact payload, and syncs only after you pair and approve the device.
|
|
9
|
+
|
|
10
|
+
## Quick start
|
|
11
|
+
|
|
12
|
+
Check which coding tools are available:
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npx --yes ai-native-profile@latest sources
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Inspect the exact aggregate payload before sending anything:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npx --yes ai-native-profile@latest preview
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Pair this computer with your cloud profile:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx --yes ai-native-profile@latest connect
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
The command prints a short-lived verification URL and code. Open the URL, sign in with GitHub, and approve the device. Then run the first sync:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
npx --yes ai-native-profile@latest sync
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
To keep syncing every 15 minutes while the command is running:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npx --yes ai-native-profile@latest watch
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
`watch` runs in the foreground and stops when the process stops. The collector never installs a hidden background service.
|
|
43
|
+
|
|
44
|
+
## Supported coding sources
|
|
45
|
+
|
|
46
|
+
| Source | Collection path | Trust label |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| Codex | Official local App Server account usage | Official account source |
|
|
49
|
+
| Claude Code | Local statistics cache | Local exact |
|
|
50
|
+
| Cursor | Supported local database metadata | Estimated; excluded from rankings |
|
|
51
|
+
| Gemini CLI | Locally retained CLI telemetry | Locally derived |
|
|
52
|
+
| GitHub Copilot CLI | Locally retained CLI activity | Locally derived |
|
|
53
|
+
|
|
54
|
+
ChatGPT Web and Claude Web are connected separately through browser-local official export import or explicit MCP activity. This collector does not read browser conversations or provider cookies.
|
|
55
|
+
|
|
56
|
+
## Privacy boundary
|
|
57
|
+
|
|
58
|
+
Normal synchronization may include:
|
|
59
|
+
|
|
60
|
+
- Dates and provider/model identifiers
|
|
61
|
+
- Token, session, turn, and tool-call counts
|
|
62
|
+
- Duration, coverage, freshness, and provenance
|
|
63
|
+
- Collector version and an anonymous device identifier
|
|
64
|
+
|
|
65
|
+
It never includes:
|
|
66
|
+
|
|
67
|
+
- Prompts or responses
|
|
68
|
+
- Source code
|
|
69
|
+
- Tool arguments or outputs
|
|
70
|
+
- Shell commands
|
|
71
|
+
- Repository names or file paths
|
|
72
|
+
- Conversation titles or email addresses
|
|
73
|
+
- Cookies, provider credentials, access tokens, or environment variables
|
|
74
|
+
|
|
75
|
+
Run `preview` whenever you want to inspect the exact aggregate payload. Pairing credentials are stored locally in `~/.config/ai-native-profile/config.json` with user-only file permissions.
|
|
76
|
+
|
|
77
|
+
## Commands
|
|
78
|
+
|
|
79
|
+
| Command | Purpose |
|
|
80
|
+
|---|---|
|
|
81
|
+
| `connect` | Pair this device with the hosted profile |
|
|
82
|
+
| `sources` | Detect supported local coding tools |
|
|
83
|
+
| `preview` | Print the exact aggregate payload without sending it |
|
|
84
|
+
| `sync` | Send one approved aggregate batch |
|
|
85
|
+
| `watch` | Sync immediately, then every 15 minutes until stopped |
|
|
86
|
+
| `doctor` | Check local sources and pairing status |
|
|
87
|
+
| `sessions` | List deliberately published session stories |
|
|
88
|
+
| `share` | Preview or publish a manually supplied sanitized story |
|
|
89
|
+
| `unshare` | Revoke a published story |
|
|
90
|
+
| `export` | Alias for `preview` |
|
|
91
|
+
| `disconnect` | Remove the local platform pairing |
|
|
92
|
+
|
|
93
|
+
Use a self-hosted deployment instead of the managed service:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
npx --yes ai-native-profile@latest connect --api-url https://your-domain.example
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## What the evidence means
|
|
100
|
+
|
|
101
|
+
Every metric carries its source, coverage dates, freshness, and provenance. A device signature protects integrity in transit; it does not make a user-controlled computer tamper-proof. Activity demonstrates workflow adoption, not developer skill, productivity, code quality, or AI authorship.
|
|
102
|
+
|
|
103
|
+
Conversation imports, MCP observations, manual stories, and estimated metrics never affect competitive scores.
|
|
104
|
+
|
|
105
|
+
## Links
|
|
106
|
+
|
|
107
|
+
- [Create a profile](https://ai-native-profile.vercel.app)
|
|
108
|
+
- [Source code and issue tracker](https://github.com/Gaurav890/ai-native-profile)
|
|
109
|
+
- [Privacy boundary](https://github.com/Gaurav890/ai-native-profile/blob/main/docs/privacy.md)
|
|
110
|
+
- [Provider capability matrix](https://github.com/Gaurav890/ai-native-profile/blob/main/docs/providers.md)
|
|
111
|
+
- [Scoring methodology](https://github.com/Gaurav890/ai-native-profile/blob/main/docs/methodology.md)
|
|
112
|
+
|
|
113
|
+
## License
|
|
114
|
+
|
|
115
|
+
MIT. Provider names are compatibility labels. AI Native Profile is provider-neutral and is not endorsed by the providers it supports.
|
package/bin/anp.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import { homedir } from 'node:os';
|
|
|
6
6
|
import { join } from 'node:path';
|
|
7
7
|
import { createInterface } from 'node:readline';
|
|
8
8
|
|
|
9
|
-
const VERSION = '0.1.
|
|
9
|
+
const VERSION = '0.1.1';
|
|
10
10
|
const DEFAULT_API_URL = 'https://ai-native-profile.vercel.app';
|
|
11
11
|
const configDir = join(homedir(), '.config', 'ai-native-profile');
|
|
12
12
|
const configFile = join(configDir, 'config.json');
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ai-native-profile",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Privacy-first collector for AI Native Profile",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": { "anp": "bin/anp.mjs", "ai-native-profile": "bin/anp.mjs" },
|
|
8
|
-
"files": ["bin", "src"],
|
|
8
|
+
"files": ["bin", "src", "README.md"],
|
|
9
9
|
"engines": { "node": ">=22.13.0" },
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|