pokegent 2.0.1 → 2.0.3
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 +109 -101
- package/dist/index.js +542 -467
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,163 +5,171 @@
|
|
|
5
5
|
|
|
6
6
|
[](https://nodejs.org)
|
|
7
7
|
[](https://github.com/vadimdemedes/ink)
|
|
8
|
-
[](LICENSE)
|
|
9
8
|
<br>
|
|
10
9
|
[](https://github.com/shafiqimtiaz/pokegent/releases)
|
|
11
10
|
[](https://github.com/shafiqimtiaz/pokegent)
|
|
12
11
|
|
|
13
|
-
Terminal dashboard that
|
|
12
|
+
Terminal dashboard that scans and monitors your Pokémon AI coding ecosystem — 16 Pokémon species (CLI) detectors, TMs/HMs (MCP) discovery, movepool usage charts, PP burn metrics, and a shareable HTML Trainer Card.
|
|
14
13
|
|
|
15
|
-
[Features](#features) • [Installation](#installation) • [Usage](#usage) • [
|
|
14
|
+
[Features](#features) • [Installation](#installation) • [Usage](#usage) • [Scoring](#scoring) • [Privacy](#privacy)
|
|
16
15
|
|
|
17
16
|
</div>
|
|
18
17
|
|
|
19
|
-
Pokégent is a Node.js TUI that scans your local machine to give you a live picture of your Pokémon AI tooling landscape. It detects running AI processes as Pokémon,
|
|
18
|
+
Pokégent is a Node.js TUI that scans your local machine to give you a live picture of your Pokémon AI tooling landscape. It detects running AI processes as active Pokémon, discovers installed TMs/HMs (MCP servers), tallies movepool (model) usage from history, and measures PP burn rates (tokens) — all locally, with zero outbound network requests.
|
|
20
19
|
|
|
21
20
|
> [!NOTE]
|
|
22
|
-
> Pokégent runs entirely locally.
|
|
21
|
+
> Pokégent runs entirely locally. It reads the process table, configuration directories, and local log files on your machine to render the results in your terminal. No telemetry, no network calls.
|
|
22
|
+
|
|
23
|
+
---
|
|
23
24
|
|
|
24
25
|
## Features
|
|
25
26
|
|
|
26
|
-
- **16 Pokémon
|
|
27
|
-
- **TM/HM (MCP)
|
|
28
|
-
- **Movepool
|
|
29
|
-
- **PP
|
|
30
|
-
- **Trainer
|
|
31
|
-
- **7 Trainer
|
|
32
|
-
- **
|
|
33
|
-
|
|
34
|
-
|
|
27
|
+
- **16 Pokémon Species Detectors** — Scans for running AI platforms represented as Pokémon (Mewtwo, Pikachu, Eevee, Gengar, Snorlax, Charizard, etc.).
|
|
28
|
+
- **TM/HM (MCP) Discovery** — Aggregates installed tool servers from standard config paths (Claude, Cursor, OpenCode, n8n, etc.).
|
|
29
|
+
- **Movepool Frequency Charts** — Analyzes shell history and log files for model name patterns, rendering horizontal ASCII bars.
|
|
30
|
+
- **PP Burn Analytics** — Measures battles (sessions), PP velocity (tokens/min), input/output splits, and estimated token costs.
|
|
31
|
+
- **Trainer Level Scoring** — Calculates a score from 0-1000 across your active roster, moves, and items.
|
|
32
|
+
- **7 Trainer Badges** — Earn badges like `Pokédex Master`, `Blast Burn`, or `Thunder Shock` based on your setup.
|
|
33
|
+
- **HTML Trainer Card** — Generates a self-contained, GameBoy-style HTML card featuring animated showdown sprites for active Pokémon.
|
|
34
|
+
|
|
35
|
+
---
|
|
35
36
|
|
|
36
37
|
## Installation
|
|
37
38
|
|
|
39
|
+
You can run and install Pokégent using the following methods:
|
|
40
|
+
|
|
41
|
+
### 1. Run directly (Zero Install)
|
|
42
|
+
The quickest way to run Pokégent is using `npx`:
|
|
38
43
|
```bash
|
|
39
|
-
# Run directly with npx (zero install)
|
|
40
44
|
npx pokegent
|
|
45
|
+
```
|
|
41
46
|
|
|
42
|
-
|
|
47
|
+
### 2. Global Installation
|
|
48
|
+
To install Pokégent globally on your system:
|
|
49
|
+
```bash
|
|
43
50
|
npm install -g pokegent
|
|
44
51
|
```
|
|
52
|
+
Once installed, you can start the TUI dashboard by typing:
|
|
53
|
+
```bash
|
|
54
|
+
pokegent
|
|
55
|
+
```
|
|
45
56
|
|
|
46
|
-
|
|
47
|
-
|
|
57
|
+
### 3. Build & Run from Source (Local Development)
|
|
58
|
+
If you want to run or modify the code locally:
|
|
48
59
|
```bash
|
|
49
|
-
#
|
|
50
|
-
|
|
60
|
+
# Clone the repository
|
|
61
|
+
git clone https://github.com/shafiqimtiaz/pokegent.git
|
|
62
|
+
cd pokegent
|
|
51
63
|
|
|
52
|
-
#
|
|
53
|
-
|
|
64
|
+
# Install dependencies
|
|
65
|
+
npm install
|
|
54
66
|
|
|
55
|
-
#
|
|
56
|
-
|
|
67
|
+
# Build the project (compiles TypeScript to dist/index.js)
|
|
68
|
+
npm run build
|
|
57
69
|
|
|
58
|
-
#
|
|
59
|
-
|
|
70
|
+
# Start the dashboard
|
|
71
|
+
npm start
|
|
60
72
|
|
|
61
|
-
#
|
|
62
|
-
|
|
73
|
+
# Run with demo mock data
|
|
74
|
+
node dist/index.js --demo
|
|
63
75
|
```
|
|
64
76
|
|
|
65
|
-
|
|
77
|
+
---
|
|
66
78
|
|
|
67
|
-
|
|
68
|
-
|-----|--------|
|
|
69
|
-
| `q` | Quit the application |
|
|
70
|
-
| `r` | Force an immediate refresh |
|
|
71
|
-
| `s` | Share card (copy markdown to clipboard) |
|
|
72
|
-
| `h` | Generate HTML card |
|
|
73
|
-
|
|
74
|
-
## Share your setup
|
|
75
|
-
|
|
76
|
-
The viral mechanic: **press `s` to copy a markdown card to clipboard, or `h` to generate an HTML file.**
|
|
79
|
+
## Usage
|
|
77
80
|
|
|
78
|
-
|
|
81
|
+
Run Pokégent with optional flags to generate reports or export data:
|
|
79
82
|
|
|
80
83
|
```bash
|
|
81
|
-
|
|
82
|
-
|
|
84
|
+
# Start TUI dashboard with live local scans
|
|
85
|
+
pokegent
|
|
83
86
|
|
|
84
|
-
|
|
87
|
+
# Start TUI dashboard in demo mode (with realistic mock data)
|
|
88
|
+
pokegent --demo
|
|
85
89
|
|
|
86
|
-
|
|
90
|
+
# Generate a markdown Trainer Card and copy it to the clipboard
|
|
91
|
+
pokegent --share
|
|
87
92
|
|
|
88
|
-
|
|
89
|
-
|
|
93
|
+
# Export stats as a GameBoy-style HTML card file (pokegent.html)
|
|
94
|
+
pokegent --html
|
|
95
|
+
|
|
96
|
+
# Export scanned data in raw JSON format
|
|
97
|
+
pokegent --json
|
|
90
98
|
```
|
|
91
99
|
|
|
92
|
-
|
|
100
|
+
### Keyboard Shortcuts (TUI Mode)
|
|
101
|
+
|
|
102
|
+
| Key | Action |
|
|
103
|
+
|-----|--------|
|
|
104
|
+
| `q` | Quit Pokégent |
|
|
105
|
+
| `r` | Force an immediate scan refresh |
|
|
106
|
+
| `s` | Share setup (copies markdown card to clipboard) |
|
|
107
|
+
| `h` | Generate HTML Trainer Card (`pokegent.html`) |
|
|
108
|
+
|
|
109
|
+
---
|
|
93
110
|
|
|
94
111
|
## Scoring
|
|
95
112
|
|
|
96
|
-
Your
|
|
113
|
+
Your roster, moves, and items get scored up to 1000 points:
|
|
97
114
|
|
|
98
115
|
| Dimension | Max Points | How |
|
|
99
116
|
|-----------|-----------|-----|
|
|
100
|
-
| Pokémon
|
|
101
|
-
| TMs & HMs (MCP) | 200 | 10 per server (cap 15) + 1 per tool (cap 50) |
|
|
102
|
-
| Movepool
|
|
103
|
-
| PP
|
|
104
|
-
|
|
105
|
-
### Rarity
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
117
|
+
| **Pokémon Running** | 350 pts | 75 pts per active Pokémon (cap 4) + 50 pts bonus for 3+ simultaneous |
|
|
118
|
+
| **TMs & HMs (MCP)** | 200 pts | 10 pts per server (cap 15) + 1 pt per tool/move (cap 50) |
|
|
119
|
+
| **Movepool Diversity** | 200 pts | 30 pts per unique model (cap 5) + 50 pts for using 3+ providers |
|
|
120
|
+
| **PP Velocity + Battles** | 250 pts | Velocity levels + session/battle count |
|
|
121
|
+
|
|
122
|
+
### Rarity Tiers
|
|
123
|
+
|
|
124
|
+
Based on your score, you are assigned a Trainer Tier:
|
|
125
|
+
- **900+** — 🌟 MYTHICAL CHAMPION (Top 1%)
|
|
126
|
+
- **750+** — 💎 SHINY LEGENDARY (Top 5%)
|
|
127
|
+
- **600+** — 🥇 POKÉMON MASTER (Top 15%)
|
|
128
|
+
- **400+** — 🥈 GYM LEADER (Top 35%)
|
|
129
|
+
- **200+** — 🥉 ELITE TRAINER (Top 60%)
|
|
130
|
+
- **<200** — 🌱 BEGINNER TRAINER (Rookie level)
|
|
131
|
+
|
|
132
|
+
---
|
|
115
133
|
|
|
116
134
|
## What gets scanned
|
|
117
135
|
|
|
118
136
|
<details>
|
|
119
|
-
<summary><strong>16 Pokémon
|
|
120
|
-
|
|
121
|
-
| Pokémon | CLI Platform | Process
|
|
122
|
-
|
|
123
|
-
| Mewtwo | Claude Code | `claude*` | `~/.claude` |
|
|
124
|
-
| Venusaur | Codex | `codex*` | `~/.codex` |
|
|
125
|
-
| Blastoise | GitHub Copilot CLI | `copilot*` | `~/.copilot` |
|
|
126
|
-
| Pikachu | Gemini CLI | `gemini*` | `~/.gemini` |
|
|
127
|
-
| Eevee | Cursor | `cursor` | `~/.cursor` |
|
|
128
|
-
| Charizard | Amp | `amp*` | `~/.amp` |
|
|
129
|
-
| Charmander | Cline | — | `~/.cline
|
|
130
|
-
| Gengar | Roo Code | `roo*` | `~/.roo` |
|
|
131
|
-
| Snorlax | Kilo Code | `kilo*` | `~/.kilo` |
|
|
132
|
-
| Zubat | Kiro | `kiro` | `~/.kiro` |
|
|
133
|
-
| Jigglypuff | Crush | — | `~/.crush` |
|
|
134
|
-
| Ditto | OpenCode | `opencode` | `~/.opencode` |
|
|
135
|
-
| Machamp | Factory Droid | `factory-droid` | `~/.factory-droid` |
|
|
136
|
-
| Rayquaza | Antigravity | `antigravity*` | `~/.antigravity` |
|
|
137
|
-
| Lapras | Kimi CLI | `kimi*` | `~/.kimi` |
|
|
138
|
-
| Dragonite | Qwen Code | `qwen*` | `~/.qwen` |
|
|
137
|
+
<summary><strong>16 Pokémon Species & CLI Mappings</strong></summary>
|
|
138
|
+
|
|
139
|
+
| Pokémon | CLI Platform | Process keyword | Config path |
|
|
140
|
+
|---------|--------------|-----------------|-------------|
|
|
141
|
+
| **Mewtwo** | Claude Code | `claude*` | `~/.claude` |
|
|
142
|
+
| **Venusaur** | Codex | `codex*` | `~/.codex` |
|
|
143
|
+
| **Blastoise** | GitHub Copilot CLI | `copilot*` | `~/.copilot` |
|
|
144
|
+
| **Pikachu** | Gemini CLI | `gemini*` | `~/.gemini` |
|
|
145
|
+
| **Eevee** | Cursor | `cursor` | `~/.cursor` |
|
|
146
|
+
| **Charizard** | Amp | `amp*` | `~/.amp` |
|
|
147
|
+
| **Charmander** | Cline | — | `~/.cline` |
|
|
148
|
+
| **Gengar** | Roo Code | `roo*` | `~/.roo` |
|
|
149
|
+
| **Snorlax** | Kilo Code | `kilo*` | `~/.kilo` |
|
|
150
|
+
| **Zubat** | Kiro | `kiro` | `~/.kiro` |
|
|
151
|
+
| **Jigglypuff** | Crush | — | `~/.crush` |
|
|
152
|
+
| **Ditto** | OpenCode | `opencode` | `~/.opencode` |
|
|
153
|
+
| **Machamp** | Factory Droid | `factory-droid` | `~/.factory-droid` |
|
|
154
|
+
| **Rayquaza** | Antigravity | `antigravity*` | `~/.antigravity` |
|
|
155
|
+
| **Lapras** | Kimi CLI | `kimi*` | `~/.kimi` |
|
|
156
|
+
| **Dragonite** | Qwen Code | `qwen*` | `~/.qwen` |
|
|
139
157
|
|
|
140
158
|
</details>
|
|
141
159
|
|
|
142
160
|
<details>
|
|
143
|
-
<summary><strong>Scanned
|
|
161
|
+
<summary><strong>Scanned Moves & Models (19 patterns)</strong></summary>
|
|
144
162
|
|
|
145
|
-
|
|
163
|
+
Scans for occurrences of the following model families in your local history and logs:
|
|
164
|
+
- `claude-4-opus`, `claude-4-sonnet`, `claude-3.7-sonnet`, `claude-3.5-sonnet`, `claude-3-haiku`
|
|
165
|
+
- `gpt-4.1`, `gpt-4o`, `gpt-4-turbo`, `o4-mini`, `o3`, `o3-mini`, `o3-pro`
|
|
166
|
+
- `gemini-2.5-pro`, `gemini-2.5-flash`, `gemini-2.0-flash`
|
|
167
|
+
- `deepseek-v3`, `deepseek-r1`, `qwen-3`, `llama-4`
|
|
146
168
|
|
|
147
169
|
</details>
|
|
148
170
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
- **[Ink](https://github.com/vadimdemedes/ink)** — React for CLI. Provides the TUI framework.
|
|
152
|
-
- **[ps-list](https://github.com/sindresorhus/ps-list)** — Cross-platform process listing.
|
|
153
|
-
- **Node.js 18+** — All scanning logic uses built-in modules (`fs`, `path`, `child_process`).
|
|
154
|
-
|
|
155
|
-
## Running from source
|
|
156
|
-
|
|
157
|
-
```bash
|
|
158
|
-
git clone https://github.com/shafiqimtiaz/pokegent.git
|
|
159
|
-
cd pokegent
|
|
160
|
-
npm install
|
|
161
|
-
npx tsx src/index.ts --demo
|
|
162
|
-
npx tsx src/index.ts
|
|
163
|
-
```
|
|
171
|
+
---
|
|
164
172
|
|
|
165
173
|
## Privacy
|
|
166
174
|
|
|
167
|
-
Pokégent runs 100% locally. No data leaves your machine. No telemetry. No analytics. No network requests.
|
|
175
|
+
Pokégent runs 100% locally. No data leaves your machine. No telemetry. No analytics. No outbound network requests are made during scanning. All log file parsing, process checking, and configuration scans happen entirely on your computer.
|