Skip to content

Commit d613c99

Browse files
takemi-ohamaclaude
andcommitted
追加: OSS整備(CONTRIBUTING/CHANGELOG/Issue・PRテンプレート/CI/レジストリ案内)
- CONTRIBUTING.md: 寄稿フローとPRルール - CHANGELOG.md: Keep a Changelog 形式、v2.2.0 を起点として記録 - .github/ISSUE_TEMPLATE: bug_report / feature_request - .github/pull_request_template.md - .github/workflows/ci.yml: Python compile check + ruff + shellcheck - docs/user/plugin-registries.md: 公開・社内レジストリ一覧と追加方法 - README.md / docs/README.md / getting-started.md: レジストリ案内を追記 (devbasex/devbase-samples, takemi-ohama/devbase-ext, volareinc/devbase-ext) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent ef4a651 commit d613c99

10 files changed

Lines changed: 319 additions & 1 deletion

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
name: Bug report
3+
about: バグ報告
4+
title: "[Bug] "
5+
labels: bug
6+
---
7+
8+
## 概要
9+
10+
何が起きたか、簡潔に記述してください。
11+
12+
## 再現手順
13+
14+
1.
15+
2.
16+
3.
17+
18+
## 期待した動作
19+
20+
## 実際の動作
21+
22+
## 環境
23+
24+
- devbase バージョン: (`devbase --version` の出力)
25+
- OS:
26+
- Docker / Docker Compose バージョン:
27+
- Python バージョン:
28+
- シェル: bash / zsh
29+
30+
## 関連ログ・スクリーンショット
31+
32+
```
33+
(必要に応じて貼り付け)
34+
```
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: 機能追加・改善の提案
4+
title: "[Feature] "
5+
labels: enhancement
6+
---
7+
8+
## 背景・課題
9+
10+
どのような課題を解決したいか、なぜ必要かを記述してください。
11+
12+
## 提案内容
13+
14+
実現したい振る舞いや UI を具体的に記述してください。
15+
16+
## 代替案
17+
18+
検討した別のアプローチがあれば記述してください。
19+
20+
## 補足

.github/pull_request_template.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Pull Request
2+
3+
## 概要
4+
5+
この PR で何を変更したか、なぜその変更が必要かを簡潔に記述してください。
6+
7+
## 関連 Issue
8+
9+
- Closes #
10+
11+
## 変更点
12+
13+
-
14+
-
15+
16+
## 動作確認
17+
18+
- [ ] ローカルで `./bin/devbase --help` が正常に動作する
19+
- [ ] 影響を受けるコマンドの主要シナリオを手動で確認した
20+
- [ ] 必要に応じてドキュメント (`docs/`, `README.md`) を更新した
21+
- [ ] CI が green である
22+
23+
## スクリーンショット・ログ(任意)
24+
25+
```
26+
```
27+
28+
## 補足

.github/workflows/ci.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
python-syntax:
11+
name: Python syntax check
12+
runs-on: ubuntu-latest
13+
strategy:
14+
matrix:
15+
python-version: ["3.10", "3.11", "3.12"]
16+
steps:
17+
- uses: actions/checkout@v4
18+
- name: Set up Python ${{ matrix.python-version }}
19+
uses: actions/setup-python@v5
20+
with:
21+
python-version: ${{ matrix.python-version }}
22+
- name: Compile-check Python sources
23+
run: python -m compileall -q lib bin
24+
25+
lint:
26+
name: Ruff lint
27+
runs-on: ubuntu-latest
28+
steps:
29+
- uses: actions/checkout@v4
30+
- uses: astral-sh/ruff-action@v3
31+
with:
32+
args: "check --select=E9,F63,F7,F82 lib"
33+
34+
shellcheck:
35+
name: ShellCheck
36+
runs-on: ubuntu-latest
37+
steps:
38+
- uses: actions/checkout@v4
39+
- name: Run ShellCheck on bin/
40+
uses: ludeeus/action-shellcheck@master
41+
with:
42+
scandir: ./bin
43+
severity: error

CHANGELOG.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Changelog
2+
3+
本プロジェクトの変更履歴を [Keep a Changelog](https://keepachangelog.com/ja/1.1.0/) の形式に沿って記録します。バージョン番号は [Semantic Versioning](https://semver.org/lang/ja/) に従います。
4+
5+
## [Unreleased]
6+
7+
## [2.2.0] - 2026-04-20
8+
9+
OSS 化に伴う初回リリース。devbase は本バージョンより `devbasex` Organization 配下で公開されます。
10+
11+
### Added
12+
- MIT License
13+
- プラグインマーケットの概念導入。任意のレジストリを `devbase plugin repo add` で追加可能。
14+
- 公式サンプルレジストリ `devbasex/devbase-samples`(adminer / ai-plugins / devbase を収録)。
15+
- PHP 8.5 ベースの開発コンテナ(`containers/php85`)。
16+
- スナップショットの差分回数ベースの世代管理。
17+
- `GIT_HOST` 環境変数による Git ホストの切り替えサポート。
18+
19+
### Changed
20+
- `DEFAULT_OFFICIAL_REGISTRY``devbasex/devbase-samples.git` に変更。
21+
- README / docs 内のリポジトリ参照を `devbasex/devbase` に更新。
22+
- ドキュメント体系を `docs/user`, `docs/plugin-dev`, `docs/developer` に再編。
23+
24+
### Removed
25+
- 「公式レジストリ」固定の概念を廃止。各レジストリは対等な扱いとなる。
26+
27+
[Unreleased]: https://github.com/devbasex/devbase/compare/v2.2.0...HEAD
28+
[2.2.0]: https://github.com/devbasex/devbase/releases/tag/v2.2.0

CONTRIBUTING.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Contributing to devbase
2+
3+
devbase へのコントリビューションを歓迎します。バグ報告、機能提案、ドキュメント改善、コード変更のいずれも受け付けています。
4+
5+
## 始める前に
6+
7+
- バグ報告・機能提案は [GitHub Issues](https://github.com/devbasex/devbase/issues) にお願いします。
8+
- 大きな変更を加える場合は、事前に Issue を立てて方針を相談してください。
9+
- 既存の Issue・PR と内容が重複していないか確認してください。
10+
11+
## 開発フロー
12+
13+
1. リポジトリを fork し、作業用ブランチを切ります。
14+
```bash
15+
git clone https://github.com/<your-account>/devbase.git
16+
cd devbase
17+
git checkout -b feature/<topic>
18+
```
19+
2. 変更を加え、ローカルで動作確認します。
20+
3. コミットし、自分の fork に push します。
21+
4. `devbasex/devbase``main` に対して Pull Request を作成します。
22+
23+
`main` への直接 push は禁止されています。すべての変更は PR 経由で取り込まれます。
24+
25+
## コミットメッセージ
26+
27+
日本語または英語のいずれでも構いません。1 行目には変更の種別と要約を簡潔に記述してください。
28+
29+
例:
30+
31+
```
32+
追加: PHP 8.5 ベースの開発コンテナ
33+
修正: スナップショット世代管理のオフバイワン
34+
```
35+
36+
## コーディング規約
37+
38+
- Python: PEP 8 に準拠。CLI 実装は `lib/devbase/` 配下にあります。
39+
- Shell: Bash / Zsh の双方で動作することを確認してください。
40+
- ドキュメントは `docs/` 配下に配置し、図表は Mermaid または PlantUML を使用してください(ASCII アートは原則使用しない)。
41+
42+
詳細は [docs/developer/contributing.md](docs/developer/contributing.md) を参照してください。
43+
44+
## Pull Request
45+
46+
- PR テンプレートに沿って、変更内容と動作確認手順を記載してください。
47+
- レビュー指摘があった場合は、追加コミットで対応します(force push は避けてください)。
48+
- CI が通っていることを確認してから merge ready にしてください。
49+
50+
## ライセンス
51+
52+
コントリビュートいただいた変更は、本プロジェクトの [MIT License](LICENSE) のもとで配布されることに同意したものとみなします。

README.md

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,19 @@ devbase login # コンテナにログイン
4141

4242
## Plugin
4343

44-
devbaseのプロジェクトはPluginとして管理されます。Pluginは外部のGitリポジトリに格納され、リポジトリ登録後に`devbase plugin install`でインストールします。
44+
devbaseのプロジェクトはPluginとして管理されます。Pluginは**プラグインレジストリ**(複数の Plugin を束ねた Git リポジトリ)から `devbase plugin install` でインストールします。
45+
46+
### 主なプラグインレジストリ
47+
48+
| レジストリ | Visibility | 役割 |
49+
|-----------|-----------|------|
50+
| [`devbasex/devbase-samples`](https://github.com/devbasex/devbase-samples) | public | サンプルレジストリ(`devbase init` 時に自動登録) |
51+
| [`takemi-ohama/devbase-ext`](https://github.com/takemi-ohama/devbase-ext) | private | 個人プロジェクト向けプラグインマーケット |
52+
| [`volareinc/devbase-ext`](https://github.com/volareinc/devbase-ext) | private | volareinc 社内プロジェクト向けプラグインマーケット |
53+
54+
詳細は [プラグインレジストリ](docs/user/plugin-registries.md) を参照してください。
55+
56+
### 操作例
4557

4658
```bash
4759
# リポジトリ登録(GitHubショートハンド対応)
@@ -95,6 +107,7 @@ devbaseのコマンドは4つのグループにまとめられています。
95107
|-------------|------|
96108
| [はじめに](docs/user/getting-started.md) | 前提条件、初回セットアップ、日常ワークフロー |
97109
| [CLIリファレンス](docs/user/cli-reference.md) | 全コマンドの構文・オプション・使用例 |
110+
| [プラグインレジストリ](docs/user/plugin-registries.md) | 公開・社内レジストリの一覧と追加方法 |
98111
| [環境変数ガイド](docs/user/environment-variables.md) | 3レベル構造、コレクター、ソース同期 |
99112
| [コンテナ操作ガイド](docs/user/container-operations.md) | ライフサイクル、並行開発、ボリューム構造 |
100113
| [スナップショットガイド](docs/user/snapshot-guide.md) | 増分バックアップ、世代管理、復元手順 |

docs/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ graph TD
4444
|-------------|------|
4545
| [はじめに](user/getting-started.md) | 前提条件、初回セットアップ、日常ワークフロー |
4646
| [CLI リファレンス](user/cli-reference.md) | 全コマンドの構文・オプション・使用例 |
47+
| [プラグインレジストリ](user/plugin-registries.md) | 公開・社内レジストリの一覧と追加方法 |
4748
| [環境変数ガイド](user/environment-variables.md) | 3レベル構造、コレクター、ソース同期 |
4849
| [コンテナ操作ガイド](user/container-operations.md) | ライフサイクル、並行開発、ボリューム構造 |
4950
| [スナップショットガイド](user/snapshot-guide.md) | 増分バックアップ、世代管理、復元手順 |
@@ -90,6 +91,7 @@ docs/
9091
├── user/ ← 利用者向け
9192
│ ├── getting-started.md ← はじめに
9293
│ ├── cli-reference.md ← CLI リファレンス
94+
│ ├── plugin-registries.md ← プラグインレジストリ
9395
│ ├── environment-variables.md ← 環境変数ガイド
9496
│ ├── container-operations.md ← コンテナ操作ガイド
9597
│ ├── snapshot-guide.md ← スナップショットガイド

docs/user/getting-started.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ source ~/.zshrc
5252
5353
### 4. プラグインリポジトリの登録
5454

55+
`devbase init` を実行すると、サンプルレジストリ [`devbasex/devbase-samples`](https://github.com/devbasex/devbase-samples) が自動登録されます。追加のレジストリは以下のように登録します。
56+
5557
```bash
5658
devbase plugin repo add user/repo
5759
```
@@ -63,6 +65,15 @@ GitHub のショートハンド(`user/repo`)形式で指定できます。
6365
devbase plugin repo list
6466
```
6567

68+
主な追加候補レジストリ:
69+
70+
| レジストリ | 用途 |
71+
|-----------|------|
72+
| `takemi-ohama/devbase-ext` | 個人プロジェクト向けプラグインマーケット(private) |
73+
| `volareinc/devbase-ext` | volareinc 社内プロジェクト向けプラグインマーケット(private) |
74+
75+
詳細・追加方法は [プラグインレジストリ](plugin-registries.md) を参照してください。
76+
6677
### 5. プラグインのインストール
6778

6879
```bash

docs/user/plugin-registries.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# プラグインレジストリ
2+
3+
devbase のプラグインは **プラグインレジストリ** を通じて配布されます。レジストリは `plugin.yml` を含む Git リポジトリの集合体で、`devbase plugin repo add` で任意のレジストリを追加できます。
4+
5+
## レジストリの考え方
6+
7+
devbase v2.2.0 以降、「公式レジストリ」固定の概念は廃止されました。すべてのレジストリは対等な立場で扱われ、ユーザーが自分の用途に合わせてレジストリを組み合わせて使います。
8+
9+
- 初回インストール時には `devbasex/devbase-samples`(サンプルレジストリ)が自動登録されます。
10+
- 追加のレジストリは `devbase plugin repo add <user>/<repo>` で登録します(GitHub ショートハンド対応)。
11+
- 完全な URL(`https://github.com/...`、SSH 形式)も指定可能です。
12+
13+
## 公開レジストリ
14+
15+
### devbasex/devbase-samples(サンプルレジストリ)
16+
17+
- URL: <https://github.com/devbasex/devbase-samples>
18+
- 役割: 初めて devbase を使うユーザーがすぐに試せる汎用ツールを収録。
19+
- 主な収録プラグイン:
20+
- `adminer` -- DB 管理ツール
21+
- `ai-plugins` -- Claude Code プラグインマーケットプレイス開発環境
22+
- `devbase` -- devbase 本体の開発環境
23+
24+
`devbase init` 実行時に自動で登録されます。
25+
26+
## プラグインマーケット(追加登録向け)
27+
28+
`devbasex/devbase` のプラグインマーケットとして利用できる公開・非公開レジストリです。アクセス権を持つユーザーは `devbase plugin repo add` で追加してください。
29+
30+
### takemi-ohama/devbase-ext
31+
32+
- URL: <https://github.com/takemi-ohama/devbase-ext>
33+
- Visibility: private
34+
- 役割: 個人プロジェクト向けプラグインを収録。
35+
- 追加方法:
36+
```bash
37+
devbase plugin repo add takemi-ohama/devbase-ext
38+
```
39+
40+
### volareinc/devbase-ext
41+
42+
- URL: <https://github.com/volareinc/devbase-ext>
43+
- Visibility: private
44+
- 役割: volareinc 社内プロジェクト向けプラグインを収録(carmo 系プロジェクト等)。
45+
- 追加方法:
46+
```bash
47+
devbase plugin repo add volareinc/devbase-ext
48+
```
49+
50+
> private リポジトリにアクセスするには、Git の認証(HTTPS のクレデンシャル、または SSH 鍵)が事前に設定されている必要があります。
51+
52+
## レジストリ操作コマンド
53+
54+
```bash
55+
# 登録
56+
devbase plugin repo add <user>/<repo>
57+
devbase plugin repo add https://github.com/<user>/<repo>.git
58+
59+
# 一覧
60+
devbase plugin repo list
61+
62+
# 削除
63+
devbase plugin repo remove <name>
64+
65+
# 同期(最新化)
66+
devbase plugin repo sync
67+
```
68+
69+
## 自前レジストリの作成
70+
71+
独自のプラグインレジストリを作成する手順は [プラグイン開発クイックスタート](../plugin-dev/quickstart.md) を参照してください。レジストリは以下の構造を持つ Git リポジトリです。
72+
73+
```
74+
<registry-root>/
75+
├── registry.yml # レジストリメタデータ
76+
├── <plugin-name>/
77+
│ ├── plugin.yml
78+
│ └── compose.yml
79+
└── ...
80+
```
81+
82+
## 関連ドキュメント
83+
84+
- [はじめに](getting-started.md)
85+
- [CLI リファレンス](cli-reference.md) -- `plugin repo` サブコマンドの詳細
86+
- [プラグイン開発クイックスタート](../plugin-dev/quickstart.md)
87+
- [plugin.yml リファレンス](../plugin-dev/plugin-yml-reference.md)

0 commit comments

Comments
 (0)