I created CLI tool for Anki called ankitango
Ankiを便利にするCLIツール「ankitango」を作った
ankitango
A CLI tool that automatically generates translations and example sentences using AI, then adds them to Anki. I created this because manually adding cards to Anki was a hassle.
Demo
ankitango add "choice" "test"
Generating...
{
"Front": "choice",
"Front_Sentence": "It's important to make the right choice when it comes to your career.",
"Back": "選択",
"Back_Sentence": "キャリアに関して正しい選択をすることが重要です。"
}
Success!
Architecture Diagram
flowchart LR
User["User<br/>ankitango add"] -->|word| CLI
CLI["ankitango<br/>Go + Cobra"] -->|generate request| OpenAI["OpenAI API<br/>Generates sentence & translation"]
OpenAI -->|sentence & translation| CLI
CLI -->|card data| AnkiConnect["AnkiConnect<br/>HTTP API"]
AnkiConnect --> Anki["Anki"]
Tech Stack
- Language: Go
- CLI: cobra (add / list / config commands)
- External Services:
- OpenAI API - generates translations & example sentences
- AnkiConnect - adds the generated cards to Anki and lists Anki decks
- Config storage: JSON file (~/.config/ankitango/config.json)
- Distribution: GoReleaser + GitHub Actions
References
For installation and usage details, see the README
ankitango
AIで翻訳と例文を自動生成し、そのままAnkiにカードとして追加するCLIツール。手動でAnkiにカードを追加するのが面倒だったので作った。
デモ
ankitango add "choice" "test"
Generating...
{
"Front": "choice",
"Front_Sentence": "It's important to make the right choice when it comes to your career.",
"Back": "選択",
"Back_Sentence": "キャリアに関して正しい選択をすることが重要です。"
}
Success!
アーキテクチャ図
flowchart LR
User["ユーザー<br/>ankitango add"] -->|単語| CLI
CLI["ankitango<br/>Go + Cobra"] -->|生成リクエスト| OpenAI["OpenAI API<br/>例文・翻訳を生成"]
OpenAI -->|例文・訳| CLI
CLI -->|カードデータ| AnkiConnect["AnkiConnect<br/>HTTP API"]
AnkiConnect --> Anki["Anki"]
テックスタック
- 言語: Go
- CLI: cobra(add / list / config コマンド)
- 外部サービス:
- OpenAI API - 翻訳と例文を生成
- AnkiConnect - 生成したカードをAnkiに追加・Ankiのデッキ一覧を取得
- 設定の保存先: JSONファイル(~/.config/ankitango/config.json)
- 配布: GoReleaser + GitHub Actions