Commit 6f036c8
authored
feat: icm import — conversations from Claude, ChatGPT, Slack (#78)
* feat: add icm import command — import conversations from Claude, ChatGPT, Slack
New `icm import` command ingests conversation exports from multiple sources
and extracts structured facts into ICM memory with auto-classification
and entity detection.
Supported formats (auto-detected):
- Claude.ai JSON export
- ChatGPT conversations.json
- Claude Code JSONL sessions
- Slack JSON export
- Plain text / transcript files
New capabilities in extract.rs:
- classify_fact(): tags facts as kind:decision, kind:preference,
kind:problem, or kind:milestone using keyword heuristics
- detect_entities(): identifies person/project names in conversational
text using pattern matching (zero network, zero LLM)
- extract_and_classify(): composes extraction + classification + NER
Usage:
icm import conversation.jsonl --project myapp
icm import ~/chats/ --project myapp --dry-run
icm import export.json --format chatgpt --project myapp
Inspired by MemPalace's convo_miner, adapted to ICM's architecture
(rule-based, zero deps, Rust).
* style: cargo fmt
* fix: clippy manual_try_fold in learn.rs1 parent 38bb5c5 commit 6f036c8
File tree
4 files changed
+1135
-1
lines changed- crates
- icm-cli/src
- icm-core/src
4 files changed
+1135
-1
lines changed
0 commit comments