**Show HN:Coasts ― エージェント向けのコンテナ化ホスト**

2026/03/31 0:17

**Show HN:Coasts ― エージェント向けのコンテナ化ホスト**

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

要約

Japanese Translation:


要約

Coast(発音は「コース」)はCLI駆動のツールで、開発者が単一マシン上で複数の隔離された開発環境を実行できるようにします。すべての環境は http://localhost:5173 のローカル Web UI から閲覧できます。
リポジトリのルートにある簡易的な

Coastfile
を読み取り、デフォルトで Docker Compose を使用するか、任意のカスタムボリューム/ネットワーク構成を利用します。アプリケーションコードは変更されません。Coast は AI プロバイダーに依存せず、Git ワークツリーのみを利用し、ホストサービスへの依存がないためオフラインファーストのソリューションです。

インストール

eval "$(curl -fsSL https://coasts.dev/install)"

前提条件:Rust(stable)、Docker、Node.js、socat、および Git。
バイナリは

coast
(CLI)と
coastd
(デーモン)です。

開発ワークフロー

  1. デーモン
    coast-dev daemon start
    を一つのターミナルで実行します。
  2. Rust の再ビルド – 二番目のターミナルで
    cargo watch -x run
    (または同等)を実行します。
  3. Web UI – Vite のホットモジュールリプレースメントが http://localhost:5173 で利用可能です。

プロジェクト構成

モジュールには以下が含まれます:

  • coast-cli
    coast-daemon
    coast-core
    coast-secrets
    ,
    coast-docker
    coast-git
    coast-guard
    (UI)、
    coast-i18n
    , さらにスクリプト、ドキュメント、および
    integrated-examples

ビルドと使用

coast build
coast run main
coast checkout feature-x
coast ls
coast rm

Makefile タスク

make lint
,
make fix
,
make test
,
make check
,
make coverage
,
make watch
.

統合テスト

integrated-examples/
に配置されており、Docker‑in‑Docker(
make run-dind-integration
)またはホストモードで実行可能です。大量のディスクスペースを消費します。

TypeScript バインディングとドキュメント

再生成方法:

npm run generate:types
npm run generate:docs

プラットフォームに関する注意点

  • macOS が主なターゲットです。
  • Linux ではポート <1024 の設定が必要で、HTTPS スタックはインストールごとに Caddy ルート CA を共有します。

コントリビュータ

@jamiesunderland, @dahyman91, @agustif, @clarkerican, @mukeshblackhat, @gregpeden, @vaibhavsing.

本文

Coasts(コンテナ化ホスト)
CLI ツールとローカル可視化 UI を備え、単一マシン上で複数の完全な開発環境を隔離して実行できるツールです。


概要

  • 現在の設定をそのまま利用可能 ― アプリケーションコードに変更は不要。リポジトリルートに小さな
    Coastfile
    を置くだけ。
  • Docker Compose を既に使用している場合、
    docker-compose.yml
    から起動できます。
  • Docker や Compose がなくても同様に機能します。
  • 一度ビルドすれば、必要なボリュームとネットワーク構成で N 個のインスタンスを実行可能です。
  • 必要に応じて一つずつ coast をチェックアウトし、ホスト上の標準ポートをバインド。ダイナミックポートを使えば任意の作業ツリーの進捗を確認できます。
  • AI プロバイダーやエージェントハーネスに依存せず、Git 作業ツリーのみが必要 ― ツールを切り替えても作業フローは変わらず、ハーネス固有の環境設定も不要です。
  • オフライン優先でホスト型サービスへの依存がないため、ベンダーロックインリスクなし。

インストール

eval "$(curl -fsSL https://coasts.dev/install)"

公式サイト・ドキュメント・インストール手順は coasts.dev を参照してください。


ドキュメント & デモ

  • Docs – Coasts の完全なユーザー向け情報
  • Demo VideoCoasts Demo
  • Demo Repo
    coasts-demo
    に小規模デモプロジェクトが含まれ、エンドツーエンドで試せます

ハーネス・デモ

  • Coasts + Claude Code
  • Coasts + Codex
  • Coasts + Conductor
  • Coasts + Cursor

コントリビューション

PR ガイドラインはコントリビューションガイドを参照してください。

注意: 目前のバージョンは macOS 向け。Linux 開発も可能ですが、1024 以下の標準ポートをバインドするにはホスト側で事前設定が必要です。
HTTPS スタックに Caddy を使用している場合、Coast はインストールごとに一つのローカル Caddy ルート CA を再利用します。同じ

COAST_HOME
の下で作成されたワークスペースは同じ CA を共有します。
coast
coast-dev
は異なる Coast ホームを使用するため、別々に扱われます。


必須環境

  • Rust(安定版ツールチェーン)
  • Docker
  • Node.js
  • socat (
    brew install socat
    on macOS,
    sudo apt install socat
    on Ubuntu)
  • Git

開発セットアップ

1 回だけセットアップスクリプトを実行し、Web UI をビルド、ワークスペースをコンパイルし、

coast-dev
/
coastd-dev
~/.local/bin
にシンボリックリンクします。

# 初回実行で ~/.local/bin が PATH に追加されます – シェル再起動または source ~/.zshrc
  • 開発モードは
    ~/.coast-dev/
    とポート 31416 を使用し、グローバル coast インストール(ポート 31415)と衝突しません。
  • HTTPS 信頼も同様に分離されています。
    • coast-dev
      ~/.coast-dev/caddy/pki/...
      の安定 Caddy ルートを再利用。
    • 通常インストールは
      ~/.coast/caddy/pki/...
      を使用。
coast cert info
coast cert export --to ~/Downloads/coast-root.crt

Coast は自動で OS やブラウザの信頼ストアに証明書を登録しません。エクスポート後、必要箇所へインポート/信頼設定してください。


日常開発フロー

3 つのターミナルを用意します:

ターミナル用途
1 – dev デーモン
coast-dev daemon start
(バックグラウンド)
または
coastd-dev --foreground
(フォアグラウンド、ログ出力)。Rust の変更で再ビルドしたら再起動。
2 – Rust 自動リビルド
cargo watch
を実行し、ソースが変わるたびにワークスペースをコンパイル。完了後、ターミナル 1 でデーモンを再起動。
3 – Web UI(ホットリロード)
bash<br>cd coast-guard<br>npm install<br>npm run dev:coast-dev<br>

Vite 開発サーバーが
http://localhost:5173
で HMR を提供し、
/api
リクエストを
localhost:31416
のデーモンへプロキシ。
npm run dev
:coast-dev
が無い)は本番デーモン(ポート 31415)向け開発時に使用。

Makefile ターゲット

Makefile は開発タスクの主要エントリーポイントです。

コマンド内容
make lint
フォーマッティングチェック(
cargo fmt --check
)と
cargo clippy
実行。
make fix
自動フォーマットと Clippy 警告の自動修正。
make test
ワークスペース全体でユニットテストを実行。
make check
make lint
make test
を順次実行。
make coverage
HTML カバレッジレポートを生成し、ブラウザで開く。
make watch
ソース変更時に再ビルド(
cargo-watch
が必要)。

Coast Guard(Web UI)

TypeScript 型の生成

UI で使用する Rust 型を変更したらバインディングを再生成:

cd coast-guard
npm run generate:types

これにより

cargo test -p coast-core export_bindings
が実行され、
src/types/generated/
のバレルファイルが更新されます。

Docs マニフェストの生成

ドキュメントビューアはマニフェストを参照します。

docs/
内の Markdown を変更したら再生成:

cd coast-guard
npm run generate:docs

ドキュメントローカライズ & 検索インデックス

Python スクリプトが Makefile 経由で呼び出されます。

コマンド用途
make docs-status
翻訳対象ドキュメントの一覧表示。
make translate LOCALE=es
指定ロケール(例: es)を翻訳。
make translate-all
サポートされているすべてのロケールを一括翻訳。
make doc-search LOCALE=en
指定ロケール用検索インデックス生成。
make doc-search-all
すべてのロケールで検索インデックスを生成。

両スクリプトは環境変数

OPENAI_API_KEY
、またはプロジェクトルートにある
.env
を参照します。
.env.example
をご確認ください。


テスト

ユニットテスト

cargo test --workspace

統合テスト

統合テストは

integrated-examples/
内で実行し、完全な coast ワークフローを検証します。

  • Docker-in-Docker(DinD)ランナーで実行(Docker だけが必要):
make run-dind-integration TEST=test_assign   # 単一テスト実行
make run-dind-integration TEST=all            # 全テスト実行
  • ホスト上でも直接実行可能(Docker, socat, リリースビルドが必要)。DinD コンテナを実際に起動するため、ディスク使用量は増大します。定期的に
    docker system prune
    を実行してクリーンアップしてください。

全テスト一覧と平均実行時間は

dindind/integration.yaml
で確認できます。ホストモードの詳細と前提条件は
integrated-examples/README.md
に記載しています。

簡易使用例:

integrated-examples/test.sh                            # 全テスト実行
integrated-examples/test.sh test_checkout test_secrets  # 指定テスト実行
integrated-examples/test.sh --include-keychain          # macOS Keychain テストを含める

プロジェクト構成

coast/
├─ coast-cli/        # 軽量 CLI クライアント、Unix ソケット経由でデーモンへ通信
├─ coast-daemon/     # coastd バックグラウンドプロセス(ハンドラー、状態 DB、ポート管理)
├─ coast-core/       # 共有型定義、Coastfile パース、プロトコル定義
├─ coast-secrets/    # 秘密情報抽出・暗号化・キーストア
├─ coast-docker/     # Docker API ラッパー、DinD 実行環境、Compose 連携
├─ coast-git/        # Git 作業ツリー管理
├─ coast-guard/      # Web UI(React + Vite)、デーモン経由で提供
├─ coast-i18n/       # CLI の i18n ロケールファイル
├─ scripts/          # Python ビルドスクリプト(翻訳、検索インデックス生成)
├─ docs/             # ユーザー向けドキュメント(英語+翻訳版)
└─ integrated-examples/  # サンプルプロジェクトとシェルベースの統合テスト

ソースからビルド

バイナリは

target/release/
に配置されます:

  • coast
    – CLI クライアント
  • coastd
    – バックグラウンドデーモン
# デーモン起動
coastd --foreground &

# Coastfile と docker-compose.yml があるプロジェクトの場合:
coast build
coast run main
coast run feature-x --worktree feature/x

# 標準ポートを所有するインスタンスを切り替え
coast checkout main
coast checkout feature-x

# 状態確認
coast ls
coast ps main
coast logs main
coast ports main

# クリーンアップ
coast rm main
coast rm feature-x

コントリビューター

  • @jamiesunderland
  • @dahyman91
  • @agustif
  • @clarkerican
  • @mukeshblackhat
  • @gregpeden
  • @vaibhavsing

由来

本プロジェクトは別のリポジトリから始まり、いくつかの履歴が統合されました。完全なコミット履歴については、元のリポジトリをご覧ください。

同じ日のほかのニュース

一覧に戻る →

2026/03/31 3:16

**Fedware:政府が禁止するアプリよりもはるかに多く監視する“安全”アプリ** 政府が推進している「セキュリティ重視」のソフトウェア化の動きにより、実際には商用版を置き換えると主張しながらも、むしろそれ以上に膨大なデータを収集する新世代のアプリが登場しています。批判者は消費者向けアプリでもすでに多くの個人情報が取得されている点を指摘しますが、政府運営のプログラムは位置履歴から生体認証まで幅広く収集し、時には明確な同意や十分な保護措置なしに行われるケースもあります。 主な懸念事項は次のとおりです: - **無制限なデータ保持** 政府アプリはユーザー活動を何年にもわたって保存し、法執行機関や外国情報機関がアクセスできる「ビッグデータ」リポジトリを構築しています。 - **不十分な透明性メカニズム** ユーザーはほとんどの場合、自分のデータが何に使われるかを把握できず、プライバシーポリシーも密度が高く、法律用語で書かれています。 - **濫用の可能性** 民間企業と同等のアクセス権限を持つことで、データが政治的監視や市場優位に利用される危険性があります。 結論として、安全な政府アプリへの意図は理解できますが、実際にはそれらが置き換えようとしている商用ツールよりも侵襲的である可能性が高いという現状があります。

## 日本語訳: **概要:** 米国政府のモバイルアプリ(ホワイトハウス・アプリ、FBI myFBI Dashboard、FEMA、IRS2Go、MyTSA、CBP Mobile Passport Control、ICE’s Mobile Fortify、SmartLINK、Venntel SDK、およびIRS‑ICE覚書)は、GPS位置情報、指紋認証、生体認証、カメラ、バックグラウンド位置情報、Wi‑Fi スキャンなどの幅広い機密権限を取得し、Huawei Mobile Services Core、Google AdMob、Clearview AI など多くのサードパーティトラッカーを埋め込んでいます。 **アプリ別主な発見:** - **ホワイトハウス:** バージョン47.0.1は GPS、指紋認証、ストレージ変更、スタートアップ起動、オーバーレイ表示、Wi‑Fi 監視、バッジ通知を要求し、Huawei Mobile Services Core と ICE のヒントラインボタン(「Greatest President Ever!」というメッセージを自動入力)を含み、名前/電話番号を収集します。 - **FBI myFBI Dashboard:** 12 個の権限(Wi‑Fi スキャン、アカウント発見、電話状態読み取り、自動起動など)と4 つのトラッカーを持ち、そのうち1 つが Google AdMob です。 - **FEMA:** 28 個の権限;v3.0.14でトラッカー数は1に減少しました。 - **IRS2Go:** 10 個の権限、3 つのトラッカー。TIGTA の監査では、プライバシー影響評価(PIA)を署名する前にアプリがリリースされ、デバイス ID、アプリ活動、クラッシュログを第三者と共有した際に、提出状況や返金額の暗号化確認が行われていないこと(OMB Circular A‑130 への違反)が判明しました。 - **MyTSA:** 9 個の権限、1 つのトラッカー;GPS をローカルに保存し、TSA に送信しないと主張しています。 - **CBP Mobile Passport Control:** 14 個の権限(うち7 は「危険」なもの:バックグラウンド位置情報、カメラ、生体認証、外部ストレージ全読み書き)を要求し、データは DHS、ICE、FBI が最大75年間顔写真を保持するネットワークに送られます。 - **ICE Mobile Fortify:** 2025年9月に Clearview AI と920万ドルの契約を結び、インターネットからスクレイピングした50億枚以上の顔画像へのアクセスを取得しました。 - **SmartLINK:** 地理位置情報、顔写真、音声プリント、医療データ(妊娠含む)、連絡先を収集し、ICE はすべての収集データを無制限に使用・処分・開示する権利を持ちます。 - **Venntel SDK:** 250万台以上のデバイスから1 日あたり150億地点の位置情報を >80,000 アプリ内の SDK を通じて取得し、DHS、FBI、DOD、DEA が令状なしで購入しています。 - **IRS‑ICE覚書(2025年4月):** ICE に対し、除去命令がある人の名前・住所・税務データを受領できるようにしますが、IRS は誤って数千件の不適格レコードを共有し、辞任につながりました。裁判所は配布後のみさらなる共有を停止しました。 **監査・規制文脈:** GAO の報告によれば、2010 年以降に発出されたプライバシーとセキュリティの推奨事項の約 60% が未実装であり、2013 年および 2019 年に議会が包括的なインターネットプライバシー法を求めたにもかかわらずです。 **影響:** これらの慣行はユーザーを複数機関による広範なデータ収集にさらし、OMB Circular A‑130 への違反など法的コンプライアンス上の懸念を生じさせます。追加の合意が進むと、部門横断的なデータフローがさらに深まり、議会または法的監査対象になる可能性があります。

2026/03/31 7:05

Android 開発者認証

## 日本語訳: Android は、主にサイドロードされたアプリから発生するマルウェアを抑制するために、必須の開発者認証システムを展開しています。2026年9月30日以降、ブラジル・インドネシア・シンガポール・タイで登録されていないアプリは認定デバイス上でブロックされます。グローバル展開は 2027 年から始まります。 Play Console を使用しているかどうかに関わらず、すべての開発者は本日中に開発者アカウントを作成する必要があります。認証が完了した Play Console ユーザーは自動登録されますが、自動登録に失敗した場合は手動でアプリをクレームする必要があります。Android Studio の開発者は、次の 2 か月以内に署名済み App Bundle/APK をビルドするときに登録状況を見ることができます。 新しい「Android Developer Verifier」サービスは 2026 年 4 月に開始され、開発者がコンプライアンスを確認し、認証されたアプリのインストール体験をスムーズにすることが可能になります。ユーザーは 2026 年 9 月 30 日まで変更を感じることはありません。その後、認定デバイス上でインストールまたは更新できるのは認証済みアプリのみです。未登録のアプリは ADB または新しい高度なサイドロードフロー(2026 年 8 月にグローバル展開)を使用してインストールする必要があります。 学生とホビイストは、政府 ID が不要で最大 20 台まで無料配布アカウントを 2026 年 6 月に取得でき、セキュリティを維持しつつ革新を阻害しないように支援します。

2026/03/30 21:39

以下に、文書体裁を整えたサンプルテキストをご提示します。 - 余分な改行やスペースは削除済みです。 - 箇条書きには適切なインデントを付与しています。 - 不要な記号もすべて取り除いてあります。 **サンプル本文** この文書は、簡潔で読みやすい構成を意識して作成されています。主なポイントは以下のとおりです。 - **目的**: 情報共有と意思決定の迅速化 - **対象読者**: プロジェクトメンバー全員 - **使用方法**: 必要に応じて更新・参照してください - **注意点**: 最新バージョンを必ず確認し、古い情報は削除します 以上の構成で、文書がスムーズに読めるようになっています。

## Japanese Translation: > **主旨**:執筆は意図的でスキルを構築する活動であり、自己と他者のためにアイデアを明確化します。LLM(大規模言語モデル)に代わりを書かせると個人の所有感や信頼性が損なわれます。 > > **主な理由**: > 1. 執筆は「何を作るべきか?」または「どのように作るべきか?」などの重要質問を促し、曖昧さを構造化します(K1, K2)。 > 2. 自分の能力の限界で練習することでスキルが強化されます。これはトレーニングに似ています(K3)。 > 3. 執筆をLLMに頼ることは、他人に代わって運動させてもらうようなものであり、「LLM生成」と感じられる文書は個人的関与の欠如を示します(K4, K5)。 > 4. このような依存は信頼性やリーダーシップの機会を損ない、真実性への疑念も生じます(K6, K7)。 > 5. LLMは調査・事実確認・迅速な文字起こし・アイデア生成に有用です(K8)。 > 6. 多くのアイデアが出た場合、利用できるものは限られます。未使用のアウトプットには害はありません(K9)。 > 7. LLMを思慮深く活用すればソフトウェア開発効率が向上しますが、その恩恵を最大化するには意図的な適用が必要です(K10)。 > > **結論**:執筆を過度に外注すると信頼性は低下し、意図的練習と選択的LLM支援を組み合わせれば所有感を損なうことなく効率を高められます。

**Show HN:Coasts ― エージェント向けのコンテナ化ホスト** | そっか~ニュース