Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@suncreation/modu-arena) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@suncreation/modu-arena
Track and rank your AI coding tool usage across Claude Code, Claude Desktop, OpenCode, Gemini CLI, Codex CLI, and Crush.
Quick Start
New Users
npx @suncreation/modu-arena registerCreates your account (username + password), generates an API key, and installs tracking hooks automatically.
Existing Users
npx @suncreation/modu-arena loginLogs in with your username and password, generates a new API key, and reinstalls hooks.
Alternative: Manual API Key Setup
npx @suncreation/modu-arena install --api-key <your-api-key>Commands
register
Create a new account interactively.
npx @suncreation/modu-arena registerPrompts for username, password, and display name. Automatically installs hooks for all detected AI coding tools.
login
Log in to an existing account interactively.
npx @suncreation/modu-arena loginPrompts for username and password. Regenerates your API key and reinstalls hooks.
install
Set up tracking hooks with an existing API key.
npx @suncreation/modu-arena install --api-key modu_arena_xxxxxxxx_yyyyyyyysubmit
Submit current project for AI-powered evaluation.
npx @suncreation/modu-arena submitIn Claude Code, prefer /modu:submit for a better experience.
rank
View your usage stats.
npx @suncreation/modu-arena rankShows total tokens, sessions, tool breakdown, and 7/30-day trends.
status
Check your current configuration and installed hooks.
npx @suncreation/modu-arena statusuninstall
Remove all hooks and configuration.
npx @suncreation/modu-arena uninstallSupported Tools
| Tool | Detection | Hook Location | Registration |
|---|---|---|---|
| Claude Code | ~/.claude/ |
~/.claude/hooks/session-end.sh |
~/.claude/settings.json (hooks.Stop) |
| Claude Desktop | ~/Library/Application Support/Claude/ |
Daemon-based sync | N/A |
| OpenCode | ~/.opencode/ |
~/.opencode/hooks/session-end.sh |
Hook file only |
| Gemini CLI | ~/.gemini/ |
~/.gemini/hooks/session-end.sh |
~/.gemini/settings.json (hooks.SessionEnd) |
| Codex CLI | ~/.codex/ |
~/.codex/hooks/session-end.sh |
Hook file only |
| Crush | ~/.crush/ |
~/.crush/hooks/session-end.sh |
Hook file only |
Configuration
Config is stored in ~/.modu-arena.json:
{
"apiKey": "modu_arena_xxxxxxxx_yyyyyyyy",
"serverUrl": "https://arena.vibemakers.kr"
}How It Works
registerorlogincreates/authenticates your account and sets up lightweight shell hooks- When a coding session ends, the hook sends token usage data to the Modu-Arena server
- Data includes: input/output tokens, cache tokens, model name, and timing
- All submissions are authenticated with HMAC-SHA256 signatures
- View your stats via
rankcommand or the web dashboard
Security
- API keys are stored locally in
~/.modu-arena.json - All API requests use HMAC-SHA256 signature verification
- Session data is hashed server-side for integrity and deduplication
- No source code or project content is ever transmitted
Requirements
- Node.js 20+
- One or more supported AI coding tools installed
License
Copyleft