| Crates.io | noet |
| lib.rs | noet |
| version | 0.1.2 |
| created_at | 2025-11-13 13:00:21.30646+00 |
| updated_at | 2025-11-13 17:22:44.102713+00 |
| description | CLI tool for managing Note.com blog articles with Markdown. Create, publish, and export articles from your terminal with rate limiting and Japanese UI. |
| homepage | https://github.com/kako-jun/noet |
| repository | https://github.com/kako-jun/noet |
| max_upload_size | |
| id | 1931092 |
| size | 201,647 |
note.comをターミナルから操作する、Rust製の高速CLIツール
note.com の記事を管理するためのコマンドラインツール(Rust製)。
noetを使うと、Hugoなどの静的サイトジェネレータのように、Markdownファイルでターミナルから記事の作成・投稿・管理ができます。
noetを実行すると、メニュー駆動のUIで操作可能.noet/でプロジェクト管理Rustがインストールされている場合、最も簡単な方法です:
cargo install noet
GitHub Releasesから、お使いのOSに対応したバイナリをダウンロードしてください。
wget https://github.com/kako-jun/noet/releases/latest/download/noet-linux-amd64.tar.gz
tar xzf noet-linux-amd64.tar.gz
sudo mv noet /usr/local/bin/
curl -LO https://github.com/kako-jun/noet/releases/latest/download/noet-macos-amd64.tar.gz
tar xzf noet-macos-amd64.tar.gz
sudo mv noet /usr/local/bin/
curl -LO https://github.com/kako-jun/noet/releases/latest/download/noet-macos-arm64.tar.gz
tar xzf noet-macos-arm64.tar.gz
sudo mv noet /usr/local/bin/
noet-windows-amd64.zipをダウンロードして展開し、パスを通してください。
git clone https://github.com/kako-jun/noet.git
cd noet
cargo install --path .
記事をGitで管理したい場合、まずワークスペースを初期化します:
mkdir ~/my-articles
cd ~/my-articles
git init
noet init # .noet/ディレクトリを作成
Noteアカウントで認証します:
noet auth login
以下の手順が必要です:
_note_session_v5 クッキーの値をコピー認証状態を確認:
noet auth status
引数なしでnoetを実行すると、メニュー駆動のUIが起動します:
noet
メニューから以下の操作ができます:
従来通り、コマンドラインからも操作できます:
# 新しい記事を作成
noet new "初めての記事"
# 記事を投稿(既存記事の場合は差分表示)
noet publish my-first-article.md
# 下書きとして投稿
noet publish my-first-article.md --draft
# 差分表示のみ(公開しない)
noet diff my-first-article.md
# 記事の一覧表示
noet list your-username
# 引数なしで実行(推奨)
noet
メニュー駆動のUIで記事管理が可能です。
# ワークスペースを初期化(.noet/ディレクトリを作成)
noet init [PATH]
ワークスペース機能により、記事をGitで管理できます。
# 新しい記事を作成
noet new [TITLE] [--template <NAME>]
# 記事を投稿(既存記事の場合は差分を表示)
noet publish <FILE> [--draft] [--force]
# 差分表示のみ(公開しない)
noet diff <FILE>
# 既存の記事を編集
noet edit <ARTICLE_ID> <FILE>
# 記事を削除
noet delete <ARTICLE_ID> [--force]
# ユーザーの記事一覧
noet list <USERNAME> [--page <PAGE>]
# 単一記事をエクスポート
noet export <ARTICLE_KEY> -o article.md
# 全記事をエクスポート
noet export --all --username <USER> -o ./exports/
# テンプレート一覧
noet template list
# テンプレート作成
noet template add <NAME>
# テンプレート表示
noet template show <NAME>
# テンプレート削除
noet template remove <NAME>
# ハッシュタグ一覧を表示
noet tag list [--page <PAGE>]
# キーワードでタグをサジェスト
noet tag suggest <KEYWORD>
# 記事をマガジンに追加
noet magazine add <MAGAZINE_KEY> --note-id <NOTE_ID> --note-key <NOTE_KEY>
# 記事をマガジンから削除
noet magazine remove <MAGAZINE_KEY> <NOTE_KEY>
# 記事にいいね
noet like <ARTICLE_KEY>
# いいねを解除
noet unlike <ARTICLE_KEY>
# コメントを表示
noet comments <ARTICLE_ID>
# ユーザープロフィールを表示
noet user <USERNAME>
# Noteにログイン
noet auth login
# 認証状態を確認
noet auth status
# 認証を更新
noet auth refresh
# 保存済み認証情報をクリア
noet auth clear
設定ファイルは以下の場所に保存されます:
~/.config/noet/config.toml~/Library/Application Support/noet/config.toml%APPDATA%\noet\config.tomldefault_status = "draft"
default_tags = []
editor = "code -w" # エディタコマンド(オプション)
username = "your-username" # ユーザー名(オプション)
base_url = "https://note.com"
エディタは以下の優先順位で決定されます:
config.tomlのeditorフィールド$VISUAL$EDITORVSCodeの場合: editor = "code -w" (-wは編集完了まで待機)
記事はYAML frontmatterでメタデータを指定します:
---
title: 記事タイトル
status: draft # または "published"
tags: rust, cli, tutorial
---
Markdown形式の記事内容...
環境変数でプロキシを設定できます:
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=https://proxy.example.com:8080
このツールはNoteの非公式APIを使用しています。以下の点に注意してください:
責任を持って使用し、過度なAPI呼び出しは避けてください。
cargo build
cargo test
cargo run -- <COMMAND>
# 新しい記事を作成
noet new "Rustでコマンドラインツールを作る"
# エディタで編集
vim rustでコマンドラインツールを作る.md
# 下書きとして投稿
noet publish rustでコマンドラインツールを作る.md --draft
# レビュー後、公開状態に更新
# (markdownのstatusをpublishedに変更してから)
noet edit <ARTICLE_ID> rustでコマンドラインツールを作る.md
# 記事一覧を確認
noet list your-username
---
title: Rustでコマンドラインツールを作る
status: published
tags: Rust, CLI, プログラミング, チュートリアル
---
タグサジェスト機能を使うと便利です:
noet tag suggest rust
# → 関連するハッシュタグの候補が表示されます
Error: Not authenticated. Please run 'noet auth login' first.
解決方法:
noet auth clear で既存の認証情報をクリアnoet auth login で再ログインError: HTTP request failed: ...
解決方法:
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=https://proxy.example.com:8080
noet auth status # 接続テスト
Error: Keyring error: No keyring found
解決方法(Ubuntu/Debian):
sudo apt-get install gnome-keyring libsecret-1-0
解決方法(Arch Linux):
sudo pacman -S gnome-keyring libsecret
初回起動時にキーチェーンへのアクセス許可を求められます。「許可」を選択してください。
cargo build
cargo test
cargo run -- <COMMAND>
# 例:
cargo run -- auth status
cargo run -- new "テスト記事"
プルリクエストを歓迎します!バグ報告や機能リクエストはIssuesにお願いします。
開発手順:
git checkout -b feature/amazing-feature)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)コミット前に自動的に cargo fmt と cargo clippy が実行されます。
.noet/ディレクトリでプロジェクト管理)A: OSのキーリングに安全に保存されます:
平文ファイルには保存されません。
A: いいえ、これは非公式ツールです。note.comやnote株式会社とは提携していません。
A: 非公式APIを使用しているため、詳細な制限は不明です。過度な使用は避けてください。
A: 現在は1アカウントのみです。複数アカウント対応は今後検討します。
A: 現在未対応です。Note.comの画像管理仕様が不明確なため、調査が必要です。 代替案として、Web UIで画像をアップロードしてURLを取得し、Markdownに貼り付けることができます。
A: はい、noet exportコマンドで記事をMarkdown形式でエクスポートできます:
noet export <ARTICLE_KEY> -o article.mdnoet export --all --username <USER> -o ./exports/詳細な実装仕様については CLAUDE.md を参照してください。
MIT License - 詳細は LICENSE を参照してください。
これは非公式ツールであり、note.comやnote株式会社と提携、承認、または関連はありません。自己責任でご使用ください。