みなさん、こんにちは。
私はフルスタック開発者で、主に Spring と React を使っています。そしてここ数か月の間に、バックエンドアプリケーションの生成方法を変えられるのではないかと思うものを作ってきました。
きっかけは単純な苛立ちでした。AIはコード生成にはとても優れていますが、実際のプロジェクト、特にバックエンドのシステムになると、すぐに一貫性がなくなり、保守しにくくなり、さらに毎回変わってしまうプロンプトに依存することになります。
単純な CRUD アプリケーションでさえ、私は次のようなことに使う時間が多すぎると感じました:
- プロンプトの調整
- 一貫性のないアーキテクチャの修正
- 生成されたコードの後片付け
- 前に何度も作ってきたものを、また書き直す
そこで、別のアプローチを作り始めました。
コード生成に AI に頼るのではなく、設定(config)優先の決定論的コードジェネレータを作っています。
どのように動くか
まず、プロジェクト内で簡単なコマンドを実行します。その後、スタックとセットアップを選びます。
その次に、ツールがあなたの選択に基づいて完全なプロジェクトを生成します。
architecture.yml や database.yml などの設定ファイルをサポートしています:
architecture.ymldatabase.ymlendpoints.ymlauth.yml
そこから、設定を使ってシステムを定義します:
- API エンドポイント(
GET、POST、PUT、DELETE) - ページネーションのルール
- 例外処理の戦略
- 認証とセキュリティのルール
- マッピング戦略(DTO など)
そして、ジェネレータが完全なバックエンドのコードベースを生成します。
現在対応していること
現時点では、このプロジェクトはバックエンド生成に注力しており、現在は Spring ベースです。すでに次が含まれています:
- 複数のアーキテクチャスタイル
- さまざまなデザインパターン
- エンドポイント構造のバリエーション
- 例外処理の戦略
- Flyway によるデータベースのマイグレーション
- MapStruct によるマッピング
- クリーンなプロジェクト構造の生成
まだ検討していること
私はまだ初期段階で、スコープと設計の方向性について確信が持てていません。
例えば:
- ツールは最初から強い意見(opinion)に寄せるべきか、それとも多くのアーキテクチャを最初からサポートすべきか?
- 設定システムはどれくらい柔軟であるべきか?
- パワーとシンプルさの適切なバランスはどれくらいか?
また、これのようなものが現実の利用で人々にどのように検証されるのかも理解しようとしています。
共有する理由
私はこれを Spring のためだけに作っているわけではなく、特定のエコシステムに限定したくありません。
目標は、時間とともにさまざまなスタックやユースケースにまたがって拡張可能にすることです。
現時点で主に求めているのは:
- アイデアに対する率直なフィードバック
- 開発者からの現実的な見解
- アーキテクチャや設計上の判断についての提案
- プロジェクトに協力したい/関わりたい人
もしこれが面白いと思っていただけて、貢献したり一緒に取り組んだりしたいなら、気軽に連絡してください。清潔なアーキテクチャと開発者体験を大切にする他の開発者の方々と、本当に一緒にこのものを作っていきたいと思っています。
そして、協力したくなくても、ぜひあなたの考えやご批評をいただけると嬉しいです




