Hatcher への貢献
Hatcher への貢献に興味を持っていただきありがとうございます! あなたは、AI 時代のソフトウェア開発の未来を構築する運動に参加しています — 開発者が AI の増幅の力を活用しながら絶対的な制御を維持する未来。このガイドは、始めるための実用的なステップを提供しますが、まだの場合は、Philosophyを読んで、作業の「なぜ」を理解することをお勧めします。
Hatcher に貢献することで、単にコードを書くだけでなく、人類が AI 時代にソフトウェアを構築する方法を定義するのを助けています。バグ修正、機能、またはドキュメント改善であっても、すべての貢献は、Controlled Amplification のミッションを前進させます。
Code of Conduct
このプロジェクトに参加することで、Code of Conductに従うことに同意します。貢献する前にお読みください。
始め方
開発セットアップ
フォークとクローン
bashgit clone https://github.com/your-username/dx-engine.git cd dx-engine依存関係のインストール
bashpnpm install開発サーバーの起動
bashpnpm dev
プロジェクト構造
dx-engine/
├── apps/ # アプリケーションパッケージ
│ ├── electron/ # メイン Electron プロセス
│ ├── web/ # レンダラープロセス (Vue 3 + TypeScript)
│ ├── preload/ # Electron のプリロードスクリプト
│ └── docs/ # VitePress ドキュメントサイト
├── universal/ # 共有ライブラリとシステム
│ ├── terminal-system/ # ターミナルエミュレーションと管理
│ ├── storage/ # ストレージ抽象化層
│ ├── git-genius/ # Git 操作とタイムライン
│ ├── shared-rendering/ # 共有レンダリングユーティリティ
│ └── shared-utils/ # 共通ユーティリティ
├── tooling/ # 開発およびビルドツール
│ ├── vite-plugin/ # カスタム Vite プラグイン
│ ├── translation-system/ # i18n と翻訳ツール
│ └── puppeteer-google-translate/ # 自動翻訳
├── scripts/ # ビルド、テスト、ユーティリティスクリプト
├── brand/ # ブランドアセット (ロゴ、アイコンなど)
└── types/ # 共有 TypeScript 型定義貢献の方法
バグの報告
バグを報告する際は、以下を含めてください:
- 明確な説明: 何が起こったか vs. 何を期待したか
- 再現手順: 問題を再現するための詳細な手順
- 環境: OS、Node.js バージョン、pnpm バージョン
- スクリーンショット: 該当する場合、視覚的な証拠を含める
問題を作成する際は、バグレポートテンプレートを使用してください。
機能リクエスト
機能リクエストを歓迎します! 以下を含めてください:
- 使用例: なぜこの機能が必要か?
- 提案されたソリューション: どのように機能すべきか?
- 代替案: 他にどのようなアプローチを検討しましたか?
機能リクエストテンプレートを使用してください。
コード貢献
始める前に
- 既存の Issue をチェック: 関連する issue または機能リクエストを探す
- 大きな変更を議論: issue を開いて重要な変更を議論する
- 小さく始める: 小さく、焦点を絞った貢献から始める
開発ワークフロー
ブランチを作成
bashgit checkout -b feature/your-feature-name変更を加える
- コーディング標準に従う (以下を参照)
- 新機能のテストを書く
- 必要に応じてドキュメントを更新
変更をテスト
bashpnpm build pnpm test変更をコミット
bashgit commit -m "feat: add amazing new feature"Conventional Commits 形式に従います。
プッシュして PR を作成
bashgit push origin feature/your-feature-name
コーディング標準
Hatcher は、プロジェクト全体で一貫性、保守性、高品質なコードを保証するために、厳格なコーディング標準に従っています。
クイックリファレンス
TypeScript
- strict モードを有効にしたすべての新しいコードに TypeScript を使用
- オブジェクトシェイプには types よりも interfaces を優先
- 変数と関数に意味のある説明的な名前を使用
- すべての公開 API に JSDoc コメントを含める
Vue.js
<script setup>構文で Composition API を使用- TypeScript インターフェースで props と emits を定義
- 再利用可能なロジックには composables を優先
- 単一ファイルコンポーネント構造に従う: script → template → style
スタイリング
- コンポーネント固有の CSS には scoped スタイルを使用
- クラス命名には BEM 方法論に従う
- テーマには CSS カスタムプロパティを使用
- レイアウトには flexbox と CSS Grid を優先
Git 規約
- Conventional Commits 形式に従う
- 説明的なブランチ名を使用:
feature/、fix/、docs/、refactor/ - コミットをアトミックに保ち、単一の変更に焦点を当てる
コード品質ツール
標準を強制するために自動化ツールを使用します:
# コードスタイル問題をリントして修正
pnpm lint:fix
# 型チェック
pnpm typecheck
# すべてのテストを実行
pnpm test
# コードをフォーマット
pnpm formatPre-commit Hooks
Husky は各コミットの前に自動チェックを実行します:
- コード品質のための ESLint
- TypeScript コンパイル
- フォーマットのための Prettier
- クリティカルパスの単体テスト
詳細なガイドライン、例、ベストプラクティスについては、コーディング標準ドキュメントを参照してください。
ドキュメント
ドキュメントの種類
- コードコメント: 複雑なロジックを説明
- README ファイル: 概要とセットアップ手順
- API ドキュメント: 公開インターフェースを文書化
- ユーザーガイド: エンドユーザー向けのハウツーガイド
執筆ガイドライン
- 明確で簡潔な言語を使用
- コード例を含める
- ドキュメントをコード変更と同期させる
- すべてのコード例をテスト
Pull Request プロセス
提出前
- [ ] コードがプロジェクト標準に従っている
- [ ] テストがローカルで合格
- [ ] ドキュメントが更新されている
- [ ] 変更が焦点を絞ってアトミック
PR 説明テンプレート
## 説明
変更の簡単な説明
## 変更の種類
- [ ] バグ修正
- [ ] 新機能
- [ ] 破壊的変更
- [ ] ドキュメント更新
## テスト
- [ ] 単体テストが追加/更新された
- [ ] 統合テストが追加/更新された
- [ ] 手動テストが完了
## スクリーンショット (該当する場合)
UI 変更の前後のスクリーンショットを含めるレビュープロセス
- 自動チェック: CI/CD が合格する必要がある
- コードレビュー: 少なくとも1人のメンテナーレビュー
- テスト: 開発環境で変更がテストされる
- ドキュメント: ドキュメントが更新されていることを確認
- マージ: 承認された PR を squash してマージ
リリースプロセス
バージョニング
セマンティックバージョニングに従います:
- MAJOR: 破壊的変更
- MINOR: 新機能 (後方互換)
- PATCH: バグ修正 (後方互換)
リリースワークフロー
- 機能フリーズ: 新機能の受け入れを停止
- テスト: 包括的なテストフェーズ
- ドキュメント: 変更ログとドキュメントを更新
- リリース: タグ付きリリースを作成
- アナウンス: コミュニティに変更を伝える
コミュニティ
コミュニケーションチャネル
- GitHub Issues: バグレポートと機能リクエスト
- GitHub Discussions: 一般的な質問とアイデア
- Discord: コミュニティとのリアルタイムチャット
- Twitter: 更新のために @HatcherDX をフォロー
コミュニティガイドライン
- 敬意を持つ: すべての人を敬意を持って扱う
- 建設的である: 問題ではなく、ソリューションに焦点を当てる
- 忍耐強くある: 私たちは皆ボランティアであることを覚えておく
- 助けになる: 知識を共有し、他の人を助ける
認識
すべての貢献に感謝します! 貢献者は以下で認識されます:
- CONTRIBUTORS.md: すべてのプロジェクト貢献者のリスト
- リリースノート: 主要な貢献が強調される
- ソーシャルメディア: コミュニティの貢献を特集
開発リソース
有用なリンク
開発ツール
- VS Code: Vue と TypeScript 拡張機能を備えた推奨エディター
- Vue DevTools: Vue アプリケーションのデバッグ用ブラウザ拡張機能
- Electron DevTools: 組み込みデバッグツール
質問がありますか?
貢献について質問がある場合:
- 既存の GitHub Discussions を確認
- Discord コミュニティに参加
- 新しいディスカッションまたは issue を作成
Hatcher への貢献ありがとうございます! 一緒に、AI 支援開発の未来を構築しています。
あなたの足跡を残す準備はできましたか?
AI 時代の Constitutional IDE を構築するコミュニティに参加