リポジトリの構成
GitHub Organizationはdicks-langです。以前から公開している旧アーカイブを除き、リポジトリは非公開を維持します。
| リポジトリ | 役割 |
|---|---|
dicks-lang | 言語、セルフホストコンパイラ、Rustブートストラップ、独立した参照実装、CLI、エディターツール、言語サイト |
DaaS | Dicks APIアプリケーション |
dicks-web | DaaSのWebサイト |
docs | バージョン別の言語マニュアル、移行ガイド、リリース文書 |
mail | 非公開のDicks Webメールアプリケーション |
reviewer | 言語を理解したPRレビュー用のGitHub App |
registry | Dicksレジストリのアプリケーション、DBマイグレーション、運用ツール、結合テスト |
discord | Discord Gateway、コマンド、モデル、RESTライブラリ |
core, http, cloudflare | ホストの契約とプラットフォームのアダプター |
browser, email | Dicksのブラウザアプリケーションと汎用Cloudflareメールアダプター |
collections, json, math, random, testing, text, validation | 標準ライブラリ |
dicks-api, DaaS-legacy | 既存の履歴を持つリポジトリ |
各ライブラリのリポジトリが、編集するソースの正本です。言語の配布物内の packages/ は、オフラインのビルド用に同梱するスナップショットです。ecosystem.lock に上流のリポジトリ、完全なコミット、内容のハッシュを記録します。スナップショットを直接編集しないでください。
既存のローカルチェックアウトから、レビュー済みのライブラリのコミットを取り込むには、次を実行します。
node tools/ecosystem/vendor.mjs import text --from ../dicks-text --revision FULL_COMMIT_SHA
node tools/ecosystem/vendor.mjs check
node tools/ecosystem/check-library.mjs packages/text
取り込みは、コミット済みの通常のGit blobだけを読みます。ローカルで編集したパッケージファイルや、追加のファイルがあれば拒否します。受け取るマニフェストと内容を検証して、新しいリビジョンを記録します。ネットワークへの要求、パッケージのインストールスクリプト、デプロイは行いません。更新をコミットする前に、ライブラリとアプリケーションの検証を実行してください。
各非公開ライブラリのCIは、言語リポジトリの固定したsetupアクションを使います。このアクションが検証済みのセルフホストコンパイラをビルドし、パッケージの検査でマニフェスト、ソースの記号制限、ホストアダプターの構文、リンクしたプログラムを確認します。外部のクローンでは、既存のチェックアウト済みツールチェーンを直接使えます。レジストリのCIも同じツールチェーンを使い、独自の結合テストを管理します。
GitHubの言語統計
現在、GitHub Linguistは .dicks を認識しません。そのため、リポジトリの属性を設定するだけでは、言語バーにDicksを表示できません。属性では、開発ツール、テストコード、ブートストラップの実装、生成物を主要な言語統計から除外しており、ほかの言語へ偽装しているソースはありません。実際の .dicks ファイルは、引き続き閲覧・レビューできます。Linguistの上流へ登録を申請するには、ローカルの設定変更だけでなく、独立した公開プロジェクトでの利用実績が必要です。