概要
- ファイルやパス を明示的に除外する仕組みの提案
- リポジトリ単位 および グローバル単位 での設定ファイル運用
- チームやリポジトリ で共有・再現可能な構成
- ユーザーごとのデフォルト設定 もサポート
- セキュリティ と 効率化 の両立を目指す
ファイル・パス除外機能の提案
- .codexignore 等の設定ファイルによる明示的な除外機構
- リポジトリローカルの .codexignore ファイル
- ユーザーグローバルな ignoreファイル
- 除外例
- .env, .env. *(環境変数ファイル)
- .pem, id_ *(秘密鍵ファイル)
- .aws/, .ssh/ (認証情報ディレクトリ)
- node_modules/ 等は検索対象としつつ、 .env などは絶対に送信・読込禁止
- 設定の決定論的動作
- 設定ファイルを チームやリポジトリ で共有可能
- ドキュメントや慣習に頼らず明示的な運用
- ユーザーごとのデフォルト設定 もサポートし、柔軟な運用が可能
関連背景と動機
- #205 Issue にて2つの主要ユースケースが浮上
- 機密データの誤送信防止
- 巨大ファイルや無関係ファイルの除外
- Rust実装(codex-rs) への移行で一時クローズ
- 2025-08-28時点で codex-rs に同等機能は未実装
- 議論再開と設計収束 の呼びかけ
- 安全性と利便性の両立を目指す実装提案
- コントリビューション および テスト への積極的な参加意思
今後の設計・実装に向けて
- 設定ファイル形式の検討
- .gitignore に近い書式が望ましい
- 優先順位や継承関係 の明確化
- 既存ツールとの連携
- 例えば .gitignore や .dockerignore との整合性
- セキュリティ要件の明文化
- 誤って除外漏れが起きない仕組み
- ユーザー・チームの運用フロー
- 設定ファイルの 共有・管理方法 のガイドライン策定
- フィードバックループの確立
- 実装後の ユーザー意見収集、改善サイクル
実装・コントリビューションへの参加表明
- 実装およびテスト への積極的な貢献意志
- コミュニティでの 設計議論 への参加
- 安全・効率的な運用 を目指したフィードバック提供