소스 정보
- 저장소
- Uo1428/cordmine
- 최근 소스 활동
- 2026년 8월 16일 14:56
- 감지된 SKILL.md 언어
- 영어
- 스타
- 6
- 포크
- 0
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/Uo1428/cordmine --skill cordmine명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | cordmine |
| description | Discord archive CLI: search, sync freshness, DMs, summaries, repo/release work. |
Use local Discord archive data first for Discord questions. Hit Discord APIs
only when the archive is stale, missing the requested scope, or the user asks
for current external context. Drive everything through the cordmine CLI —
it is the agent-facing interface.
cordmine (Bun-first, zero runtime deps) — run via bunx cordmine<dataDir>/cordmine/cordmine.db (override via
CORDMINE_DB env or --db); on Windows
%LOCALAPPDATA%\cordmine\cordmine.dbDISCORD_BOT_TOKEN), never in filesbunx cordmine sync --guild <guild_id> # backfill (--full for history)
bunx cordmine search "query" --limit 20 --json # FTS search
bunx cordmine sql "select count(*) from messages" --json # read-only SQL
bunx cordmine status --json # archive health/counts
bunx cordmine coverage --json # per-channel coverage
bunx cordmine messages --channel general --limit 50
bunx cordmine channels --json
bunx cordmine members search alice
bunx cordmine digest --json
bunx cordmine embed # drain embedding queue
bunx cordmine version
CORDMINE_DB env or --db <path>CORDMINE_GUILDS env (comma-separated) or --guild / --guilds--token > --token-env NAME > DISCORD_BOT_TOKEN
(shell env or .env, which Bun auto-loads)--json for machine parsingSync flags:
bunx cordmine sync --full --guild <guild_id> \ # full history backfill
--exclude-channel <id> \ # skip channels
--exclude-kind forum,announcement \ # skip kinds (names or numbers)
--ignore-bots # skip bot/webhook messages
--with-embeddings # queue embeddings during sync
For recent/current questions, check freshness before analysis:
bunx cordmine status --json
bunx cordmine coverage --json
Precise freshness from the default database:
bunx cordmine sql "select coalesce(max(created_at),'') as newest from messages;"
Use --full only for deliberate historical backfills:
bunx cordmine sync --full --guild <guild_id>.
If SQLite reports busy/locked, check for stray bun processes holding the WAL before retrying.
search / messages for slices; use sql for exact counts.Useful SQL:
bunx cordmine sql "select count(*) as messages from messages;" --json
bunx cordmine sql "select coalesce(nullif(c.name,''), m.channel_id) as channel, count(*) as messages from messages m left join channels c on c.id = m.channel_id group by m.channel_id order by messages desc limit 20;" --json
bunx cordmine sql "select coalesce(nullif(mm.display_name,''), nullif(mm.global_name,''), nullif(mm.username,''), m.author_id) as author, count(*) as messages from messages m left join members mm on mm.guild_id = m.guild_id and mm.user_id = m.author_id group by m.guild_id, m.author_id order by messages desc limit 20;" --json
sql is read-only: only select / pragma / with queries are allowed.
Search internals: FTS5 (unicode61) over normalized content; query terms are
quoted and AND-joined; a plain LIKE '%x%' scan is ~10,000x slower than the
index (17 s vs <1 ms on 120k messages). Semantic ranking requires
bunx cordmine embed to have run; search --mode hybrid or
--mode semantic selects embedding-based ranking.
Bot-backed sync requires configured Discord bot credentials; do not invent token availability. The CLI never uses user tokens or calls Discord as the user. Archives are local-only; never include secrets if you publish snapshots.
For repo edits, prefer the existing Bun gates:
bun test
bunx tsc --noEmit
Then run a targeted CLI smoke for the touched surface:
CORDMINE_DB=<db> bunx cordmine status --json
CORDMINE_DB=<db> bunx cordmine search "test" --limit 5 --json
CORDMINE_DB=<db> bunx cordmine sql "select count(*) from messages;" --json