**Prek**  
「Rustで構築された、より高速で簡単に導入できるpre-commitの代替ツール」

2026/02/04 1:29

**Prek** 「Rustで構築された、より高速で簡単に導入できるpre-commitの代替ツール」

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

概要:

prek
は Rust で構築された pre‑commit フレームワークのドロップイン置き換えです。高速かつ依存関係不要な実行を提供し、既存の pre‑commit 設定と完全に互換性があります。単一バイナリとして配布され、外部依存はなく、Rust フックと uv 統合を用いて隔離された Python 環境を作成します。主な機能には、プロジェクト間で共有されるツールチェーン(ディスク使用量削減)、モノレポサポート、
prek run
オプション(
--directory
--last‑commit
、複数フック選択)、便利な
prek list
、クールダウン日を伴う自動更新、およびシェル補完があります。
このプロジェクトはすでに CPython、Apache Airflow、FastAPI、Home Assistant Core、Django、Requests‑Cache などの主要オープンソースイニシアチブを支えており、その実世界での有効性を示しています。インストールは、スタンドアロンインストーラスクリプト(Linux/macOS/Windows)、PyPI ウィル(
uv
pipx
)、Homebrew、mise、Cargo binstall/compile、npmjs パッケージ、Nixpkgs、conda‑forge、Scoop、MacPorts、GitHub Releases、または GitHub Actions(
j178/prek-action
)で行えます。
pre‑commit からの移行は簡単です:新規ユーザーはクイックスタートガイドから開始でき、既存ユーザーは初心者向けウォークスルーを使って設定を作成しフックを実行できます。現在の言語サポートは pre‑commit と完全に同等ではありませんが、今後のリリースでカバレッジを拡大し、プラットフォーム横断的なインストールオプションを追加する予定です。CI/CD パイプラインに依存する開発者や組織にとって、
prek
はフック実行の高速化、インフラコストの削減、モノレポ管理の簡素化、全体的な開発者体験の向上という具体的メリットを提供します。
プロジェクトは pre‑commit から着想を得ており、感謝の言葉として pre‑commit メンテナと Astral チーム(uv)の貢献が挙げられています。

本文

pre‑commit は、複数の言語で書かれたフックを実行し、それらのフックに必要な言語ツールチェーンや依存関係を管理するフレームワークです。
prek(プレク) は Rust で構築された再設計・高速化・依存性無しの代替品です。pre‑commit のドロップイン置き換えとして機能しつつ、長らく求められていた数多くの機能を追加しています。


特徴

  • 🚀 単一バイナリ – Python などのランタイムは不要です。
  • 高速・軽量 – pre‑commit を上回る速度で、ディスク容量も少なく済みます。
  • 🔄 完全互換性 – 元の pre‑commit 設定とフックにそのまま対応します。
  • 🏗️ モノレポサポート – ワークスペースモードが組み込まれています。
  • 🐍 uv 統合 – Python の仮想環境と依存関係を自動で管理します。
  • 🛠️ 改善されたツールチェーンインストール – Python・Node.js・Bun・Go・Rust・Ruby 等の共有インストールが可能です。
  • 📦 Rust ネイティブフック – 一部の一般的なフックを Rust で実装し、速度向上を図っています。

目次

  1. インストール
  2. クイックスタート
  3. prek を選ぶ理由
  4. 使用者
  5. 謝辞

インストール

スタンドアロンインストーラ

# Linux / macOS
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/j178/prek/releases/download/v0.3.1/prek-installer.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://github.com/j178/prek/releases/download/v0.3.1/prek-installer.ps1 | iex"

PyPI(uv での推奨インストール)

uv tool install prek          # グローバルにインストール
uvx prek                       # コマンド一つで実行
uv add --dev prek              # プロジェクトの開発依存として追加
pip install prek               # pip でフォールバック
pipx install prek              # 分離環境でのインストール

その他パッケージマネージャ

ManagerCommand
Homebrew
brew install prek
mise (v2025.8.11+)
mise use prek@latest
Cargo binstall
cargo-binstall prek
Cargo(ソース)
cargo install --locked prek
npmjs
npm add -D @j178/prek
/
pnpm add -D @j178/prek
/
bun add -D @j178/prek
Nix
nix-shell -p prek
または
nix profile install nixpkgs#prek
Conda
conda install conda-forge::prek
Scoop (Windows)
scoop install prek
MacPorts
port install prek

GitHub Releases

GitHub releases ページ から事前ビルド済みバイナリをダウンロードしてください。

GitHub Actions

公式アクションを利用できます。

name: Prek checks
on: [push, pull_request]

jobs:
  prek:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6
      - uses: j178/prek-action@v1

アクションは

prek
をインストールし、
prek run --all-files
を実行します。


クイックスタート

  • 既存の pre‑commit ユーザー – クイックスタートガイドにある短い移行チェックリストを参照して安全に切り替えましょう。
  • 新規ユーザー – コンフィグ作成、フック実行、Git フック設定など基本操作は初心者向けワークスルーで学べます。

なぜ prek?

パフォーマンス

  • pre‑commit より数倍高速です。
  • 共通のフック環境とツールチェーンを共有することでディスク使用量が半分に抑えられます。
  • リポジトリの並列クローン、依存関係の並列インストールで効率化。
  • 同一優先度のフックは同時実行可能です。
  • uv
    による Python 仮想環境作成は速度と効率性が高いことで知られています。
  • Rust 実装の共通フックは Python 実装を上回ります。
  • オフライン・ゼロセットアップのフック(
    repo: builtin
    )に対応し、pre‑commit にはない機能を提供します。

ユーザー体験

  • Python やその他ランタイムをインストールする必要がなく、単一バイナリで完結。
  • 必要な Python バージョンを自動インストールし、仮想環境を作成。
  • ワークスペースサポート内蔵 – 各サブプロジェクトに独自
    .pre-commit-config.yaml
    を持たせられます。
  • prek run --directory <dir>
    で特定ディレクトリのファイルのみフック実行(Git コマンド不要)。
  • prek run --last-commit
    で変更されたファイルだけを対象に。
  • prek run [HOOK] [HOOK]
    で複数フック選択。
  • prek list
    で ID と説明付きの全フック一覧表示。
  • prek auto-update --cooldown-days
    によりサプライチェーン攻撃を軽減。
  • prek run <hook_id>
    のシェル補完によりコマンド使用が簡易化。

詳細比較は「pre‑commit との差分」セクション(本文には含まれていません)をご覧ください。


使用者

プロジェクト / 組織リンク
Apache Airflowhttps://github.com/apache/airflow
CPythonhttps://github.com/python/cpython
FastAPIhttps://github.com/fastapi/fastapi
…(原文の完全リスト参照)

謝辞

本プロジェクトはオリジナルの pre‑commit ツールから大きな影響を受けています。メンテナーとコントリビューターに感謝し、

uv
を開発してくださった Astral チームにも特別な敬意を表します。

同じ日のほかのニュース

一覧に戻る →

2026/02/02 5:01

**私の初めてのハードウェア製品を500台出荷して得た教訓**

## Japanese Translation: 著者は、明るい光を放つ高輝度ランプ「Brighter」を立ち上げた経験を語り、アイデアを大量生産製品に変える際の障壁を概説しています。ソフトウェア職を辞めた後、チームはクラウドファンディングで40万ドルを調達し、設計を39,000ルーメンから60,000ルーメンへと反復改良しました。早期のウェブサイト預金により需要が証明されました。生産は10月に開始され、毎日UPS配送が行われましたが、中国での製造ではヒートシンクピンのずれやPCBラベルの入れ替えなどの問題が発覚し、現地で修正を要しました。関税変更(「Liberation Day」)により輸入税率は50%から150%へと上昇し、利益率を圧迫し、コスト管理を厳格化せざるを得ませんでした。著者は今後もノブの間隔やワイヤ長、ネジサイズなどの品質調整を継続するとともに、定期的なサプライヤー訪問と徹底したテストを強調し、将来のリスクを軽減する計画です。これらの経験は、ハードウェアスタートアップがサプライチェーンの混乱、関税の変動、および詳細な計画をどのように乗り越えて収益性と製品信頼性を維持するかを示しています。

2026/02/04 4:37

宇宙でデータセンターを設置することは意味がありません。

## Japanese Translation: **概要** 宇宙ベースの AI インフラ―(SpaceX が最近取得した xAI など、Google、Lonestar、Axiom、Starcloud の類似プロジェクトを含む)については、打ち上げ価格が予測通り下落しても実用化や費用対効果を達成する可能性は低い。主張の根拠は硬直した技術的制限(放射線被害、冷却要件、遠距離での遅延)と GPU 必要数の膨大さにある:最先端 AI は何十万から数百万台の GPU を必要とし、xAI のプロトタイプ「Colossus」はすでに約 20 万台を搭載している。 そのようなハードウェアを支えるためには、新たな衛星編成が不可欠だ。既存の宇宙船は簡単にアップグレードまたは交換できないため、AI チップの各新世代ごとに完全に新しいコンステレーションが必要になる。この結果、現在約 15,000 台の衛星を大幅に上回る数が投入され、軌道混雑とケスラー・スペクトラムリスクが増大する。 Google の 2023 年研究では、打ち上げコストが 2035 年頃までに 200 米ドル/キログラムに下がる(Starship の成功に依存)場合にのみ競争力を持つ 81 台の衛星ネットワークが想定されている。これら最適的仮定でも、宇宙データセンターは安価な太陽光発電と急速に下落するハードウェア価格から恩恵を受ける地上ベースサーバーより遅れる。 投資家は、特に SpaceX の今年度 IPO 計画を踏まえ、ハイプサイクル中の転売利益を期待してこれらプロジェクトへの資金提供を継続する可能性がある。しかし、事業は相応の性能向上をもたらさずに資本支出を膨張させ、デブリリスクを増大させ、より実現可能な地上ソリューションから資源を逸らすリスクを抱えている。広範囲にわたる影響は、テック企業、投資家、および宇宙/AI 業界全体に及ぶでしょう。

2026/02/02 2:25

**Show HN:** *Craftplan ― 私は妻のベーカリー向けに製造管理ツールを作りました*

## Japanese Translation: (すべての主要ポイントを反映し、推論は追加せず) Craftplan は、小規模な職人製造業やクラフトビジネス向けに構築された無料でオープンソースの ERP プラットフォームです。コア機能は以下のとおりです: 1. **カタログ管理** – 写真付きの商品リストとラベル 2. **BOM(部品表)** – バージョン管理された BOM が自動的にコストを集計し、労務ステップを追跡 3. **受注処理** – カレンダー方式のスケジューリング、請求書生成、生産バッチへの割り当て 4. **生産** – バッチング、材料消費自動化、バッチごとのコストサマリー、および生産完了時に数量を記録するワークフロー 5. **在庫管理** – 原料ロットトレーサビリティ;在庫移動(消費・受入・調整);アレルゲン/栄養成分追跡;需要予測;再発注計画 6. **購買** – 発注書、仕入先管理、ロット作成を伴う在庫受け取り 7. **CRM** – 顧客・仕入先データ保存、注文履歴、統計情報 8. **インポート/エクスポート** – 商品、材料、顧客の CSV インポート;CSV エクスポート対応 9. **メール連携** – SMTP、SendGrid、Mailgun、Postmark、Brevo、Amazon SES を使用したトランザクションメール配信(暗号化された API キー) 10. **カレンダー フィード** – 注文納品と生産バッチスケジュールを含む iCal (.ics) URL。設定で生成・取り消しが可能 11. **プログラム的アクセス** – JSON:API と GraphQL エンドポイントは暗号化された API キーで認証され、CORS 設定は可変 12. **アクセス制御** – 役割ベースの権限(管理者・スタッフ)とすべてのリソースに対するポリシーベース認可 これら全機能は、特に食品関連製造業で詳細な商品一覧、バージョン管理された BOM、アレルゲン追跡、およびリーン生産計画用の自動コスト算出が必要とされるクラフト企業の独自ニーズを満たすよう設計されています

**Prek** 「Rustで構築された、より高速で簡単に導入できるpre-commitの代替ツール」 | そっか~ニュース