mirror of
https://github.com/GMGNAI/gmgn-skills.git
synced 2026-07-27 16:57:44 +00:00
initial import
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code when working with the gmgn-cli plugin.
|
||||
|
||||
## Project Overview
|
||||
|
||||
This is a **Claude Code plugin** — a collection of GMGN OpenAPI skills for on-chain operations. It provides CLI tools and skills for token queries, market data, wallet portfolio analysis, and swap execution across sol / bsc / base.
|
||||
|
||||
## Available Skills
|
||||
|
||||
| Skill | Purpose | When to Use |
|
||||
|-------|---------|-------------|
|
||||
| `gmgn-token` | Token info, security, pool, holders, traders | User asks about a token's price, market cap, security risk, liquidity pool, top holders, or top traders; user wants to research a token before buying; user asks "is this token safe", "who holds this token", "what's the liquidity" |
|
||||
| `gmgn-market` | K-line / candlestick market data + trending tokens | User asks for price history, chart data, OHLCV candles; user wants to analyze price trends over time; user asks "show me the 1h chart", "what was the price last week", "give me kline data for this token"; user wants to discover hot or trending tokens; user asks "what tokens are trending", "show me top tokens by volume", "find hot tokens on SOL" |
|
||||
| `gmgn-portfolio` | Wallet holdings, activity, trading stats, token balance | User asks about a wallet's holdings, P&L, transaction history, trading statistics, or token balance; user wants to analyze a wallet; user asks "what tokens does this wallet hold", "show me recent trades", "what's the win rate of this wallet" |
|
||||
| `gmgn-swap` | Token swap execution + order status query | User wants to swap tokens, execute a trade, or check an order status; user asks "swap SOL for USDC", "buy this token", "check my order"; **requires private key configured in `.env`** |
|
||||
|
||||
## Architecture
|
||||
|
||||
- **`src/`** — TypeScript source (CLI commands, API client, signer)
|
||||
- **`skills/`** — 4 SKILL.md files for Claude Code skill definitions
|
||||
- **`dist/`** — Compiled output (generated by `npm run build`)
|
||||
- **`.claude-plugin/`** — Plugin metadata for Claude Code
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Config lookup order (project overrides global):
|
||||
1. `~/.config/gmgn/.env` — global config, set once for all projects
|
||||
2. `.env` in the current working directory — project-level override (takes precedence)
|
||||
|
||||
Required variables:
|
||||
- `GMGN_API_KEY` — apply at https://gmgn.ai/ai
|
||||
- `GMGN_PRIVATE_KEY` — PEM content, required for swap/order commands only
|
||||
|
||||
If the user has not configured credentials or commands fail with a missing key error, guide them to create `~/.config/gmgn/.env`:
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.config/gmgn
|
||||
cat > ~/.config/gmgn/.env << 'EOF'
|
||||
GMGN_API_KEY=your_api_key_here
|
||||
EOF
|
||||
```
|
||||
|
||||
## Auth Modes
|
||||
|
||||
| Mode | Commands | Requirements |
|
||||
|------|----------|--------------|
|
||||
| Normal | token / market / portfolio | `GMGN_API_KEY` only, no signature |
|
||||
| Critical | swap / order | `GMGN_API_KEY` + `GMGN_PRIVATE_KEY` — CLI handles signing automatically |
|
||||
|
||||
## SKILL.md Authoring Rules
|
||||
|
||||
When creating or updating any file in `skills/`:
|
||||
|
||||
- **Language**: English only — no bilingual content. SKILL.md files are read by AI, not humans.
|
||||
- **Package runner**: Always use the pre-installed `gmgn-cli` binary (e.g. `gmgn-cli token info ...`). Never use `npx gmgn-cli` or `npx gmgn-cli@<version>` — npx downloads the package at runtime alongside live credentials. The package must be installed once with `npm install -g gmgn-cli@1.0.1`.
|
||||
- **Section order**: Sub-commands → Supported Chains → Prerequisites → Parameters/Options (if needed) → Usage Examples → Notes
|
||||
- **`--raw` flag**: All commands support `--raw` for single-line JSON output. Always document it in the Notes section.
|
||||
- **YAML frontmatter**: Quote `argument-hint` values that contain `|` characters to avoid YAML parsing errors.
|
||||
|
||||
## Keeping Docs in Sync
|
||||
|
||||
`src/commands/*.ts` is the single source of truth for all commands, sub-commands, and options.
|
||||
|
||||
**When any file in `src/commands/` is modified**, you MUST also update:
|
||||
|
||||
1. **`skills/gmgn-{command}/SKILL.md`** — Sub-commands table and Options tables must exactly reflect the current command definitions.
|
||||
2. **`Readme.md`** — The `## Commands` section bash examples must reflect added/removed commands or options.
|
||||
3. **`Readme.zh.md`** — Same as Readme.md for the bash examples (Chinese descriptions are maintained separately).
|
||||
Reference in New Issue
Block a user