Purus に興味を持っていただきありがとうございます!このガイドでは、貢献の方法を説明します。
purus/
├── core/ # コンパイラ (MoonBit → JavaScript)
├── linter/ # リンター (@puruslang/linter)
├── prettier-plugin/ # Prettier プラグイン (@puruslang/prettier-plugin-purus)
├── extension/ # VS Code 拡張機能
├── pages/ # ドキュメントサイト (Astro Starlight)
├── examples/ # サンプルコード
└── docs/ # ビルド済みドキュメント (自動生成)
git clone https://github.com/<your-username>/purus.git
cd puruscd core
npm install
npm run buildmoon build --target js を実行し、出力をコピーします。
cd core
moon testPR を提出する前に、すべてのテストがパスしていることを確認してください。
コンパイラは MoonBit で書かれています。
| コマンド | 説明 |
|---|---|
moon test |
全テストの実行 |
moon check |
型チェック |
npm run build |
フルビルド (コンパイル + コピー) |
cd linter
npm installcd prettier-plugin
npm installVS Code で extension/ フォルダを開き、F5 を押して拡張機能開発ホストを起動します。
cd pages
npm install
npx astro devhttp://localhost:4321 でサイトを確認できます。ドキュメントは英語と日本語の二言語対応です。
Issue を作成し、以下を記載してください:
- 問題の明確な説明
- 再現手順
- 期待される動作と実際の動作
- Purus のバージョン (
purus version)
Issue を作成し、以下を記載してください:
- 提案する機能の内容
- なぜその機能が有用か
- 構文を示す Purus コードの例
mainからフィーチャーブランチを作成- 変更を加える
- 必要に応じてテストを追加
moon testを実行し、全テストがパスすることを確認- 明確な説明を添えて PR を提出
ドキュメントは pages/src/content/docs/ にあります。二言語対応です:
- 英語:
pages/src/content/docs/ - 日本語:
pages/src/content/docs/ja/
ドキュメントを更新する際は、両方の言語を更新してください。
- Purus コード: 識別子にはケバブケースを使用(例:
my-variable) - MoonBit コード: 標準的な MoonBit の規約に従う
- JavaScript: 標準スタイル
リリースは git タグで管理されます:
| パッケージ | タグ形式 |
|---|---|
| Core (purus) | v* (例: v0.4.0) |
| Linter | linter-v* (例: linter-v0.3.0) |
| Prettier Plugin | prettier-plugin-v* |
| VS Code 拡張機能 | ワークフローで管理 |
| ドキュメント | main へのプッシュで自動デプロイ |
このプロジェクトは行動規範 (Code of Conduct) に従っています。参加することで、この規範を守ることが求められます。
貢献していただいたコードは Apache 2.0 ライセンス のもとで公開されます。