Lino が Clean Architecture、DDD、CQRS、JWT、multi-tenancy、shadow entities、RabbitMQ、Hangfire、Blazor、キャッシュ、observability、deploy により .NET プロジェクトをどのように加速するかを理解できます。
Lino は、.NET で最新のアプリケーションを生成するための CLI です。
Clean Architecture、DDD、CQRS に重点を置いて、アーキテクチャ、モジュール、API、認証、フロントエンド、インフラストラクチャを自動化します。
Lino は、.NET アプリケーションの起動と展開の繰り返し作業を軽減するのに役立ちます。
ソリューション、レイヤー、エンドポイント、認証、初期展開を手動で組み立てる代わりに、チームは既製のベースから開始してビジネス ルールに焦点を当てます。
Lino は .NET のコード ジェネレーターであり、クローズド フレームワークではありません。
生成後、プロジェクトはチームに属し、ツールに強制的に依存することなく変更できます。
Lino の主な焦点は、テンプレートとルールに基づいた決定論的な生成です。
これにより、予測可能性、アーキテクチャの一貫性が維持され、AI 依存のフローよりもノイズが少なくなります。
Lino は、生産性を向上させ、.NET の最新アプリケーションのアーキテクチャを標準化するために Eduardo Tolino によって作成されました。
はい。
生成されるプロジェクトは、Clean Architecture、CQRS、DDD、JWT、Docker、observability、pipeline 連携など、エンタープライズソフトウェアで一般的な patterns を使用します。生成されたベースは、本番環境ごとにレビュー、テスト、設定する必要があります。
Lino の主な違いは、最初のコマンドから一貫したアーキテクチャ ベースを持つ .NET アプリケーションの作成を高速化することです。
コード生成、モジュール構成、API、フロントエンド、認証、イベント、インフラストラクチャを 1 つのフローに結合します。
Lino を使用するには、.NET SDK、Git、Entity Framework CLI、および Docker をインストールしておく必要があります。
dotnet tool install --global Tolitech.Lino
インストール後、lino --version でバージョンを確認できます。
lino project new --name MyProject
このコマンドは、レイヤー、モジュール、および基本構成を含む初期プロジェクト構造を作成します。
Lino は、選択された features に応じて、プロジェクト構造、サービス、モジュール、entities、value objects、列挙型、commands、queries、APIs、ページ、events、event handlers、migrations、secrets 設定、background jobs、Docker images を生成できます。
はい。生成されたコードは完全にあなたのものであり、作業を続けるためにツールに依存することはありません。
はい。 Lino は、後で進化するためのクリーンなベースを放棄せずにスピードを求める場合、MVP の良いオプションです。
はい。Lino は、整理された backend、認証、APIs、web frontend、標準化されたインフラ、tenant 分離、コンテキスト別権限、secrets 管理、rate limiting が必要な SaaS プロジェクトを支援します。
はい。 Lino は、レイヤーの分離、明確に定義されたモジュール、API、イベント、実際のインフラストラクチャとの統合を必要とする .NET のビジネス アプリケーション向けに設計されました。
どちらのシナリオも有効です。ほとんどの製品では、モジュラーモノリスから始める方が簡単でコスト効率が高いことがよくあります。
Lino は、一貫したアーキテクチャ、迅速なセットアップ、ベースを書き直すことなく拡張できる余地を備えた .NET プロジェクトを提供する必要がある場合に意味があります。
プロジェクトが非常に小規模で使い捨てであるか、モジュール型アーキテクチャを必要としない場合、Lino のゲインは低くなる可能性があります。
はい。その利点は、バックエンド、フロントエンド、認証、エンドポイント、イベント、永続性、および初期インフラストラクチャの数時間または数日にわたる繰り返しのセットアップが不要になることです。
Web 製品、SaaS、内部システム、プラットフォーム B2B、およびビジネス サービスを構築するチーム .NET は、Lino から最も恩恵を受ける傾向があります。
Lino は Clean Architecture を使用し、システムをドメイン、アプリケーション、インフラストラクチャ、プレゼンテーションなどの層に分離します。
はい。 Lino は、Entities、Value Objects、列挙型、Domain Events、および bounded contexts を使用したドメインベースのモデリングを奨励します。
はい。 Commands と Queries は、アプリケーションの編成、メンテナンス、スケーラビリティを容易にするために分離されています。
はい。モジュール式モノリスは、Lino にとって最も自然なシナリオの 1 つであり、特にチームが適切な内部分離で運用コストを低く抑えたい場合に当てはまります。
はい。 Lino を使用して、モジュール式モノリス、独立したサービス、およびマイクロサービスベースのアーキテクチャを作成できます。
はい。 Lino は、責任の分離、疎結合、モジュール性、持続可能なコードの進化を強化するように設計されました。
Entities は、ユーザー、注文、製品など、ドメイン内で独自の ID を持つオブジェクトを表します。
Value Objects は、お金、住所、電子メールなど、独自のアイデンティティを持たない不変のドメイン概念を表します。
はい。 Lino は、ドメイン内の関連イベントを表し、システムの部分間の結合を低く維持するために Domain Events をサポートします。
ドメインは、カタログ、販売、在庫、ID、請求などの個別のビジネス領域を反映するモジュールまたは bounded contexts に分割できます。
はい。いくつかのモジュールとより単純なルールから始めて、製品が成熟するにつれてモデリングを進化させることができます。
はい。 Lino は、アプリケーションのコマンドとクエリに基づいてエンドポイントを自動的に生成できます。
はい。生成された API は、アプリケーション層と直接統合された Minimal APIs または .NET を使用します。
生成されたプロジェクトは、OpenAPI および Swagger を介した API ドキュメントと互換性があり、契約の検査、テスト、チーム間の統合が容易になります。
バージョン管理は既知の REST 標準に従い、エンドポイント、契約、ビルドごとに組織と組み合わせることができます。
はい。 Lino アーキテクチャを使用すると、インフラストラクチャ層を通じて外部 API、Webhook、SDK、サードパーティ サービスを統合できます。
生成されるプロジェクトは OpenAPI/Swagger で API 契約を公開し、選択した template と workflow に応じて、HTTP ファイルや同様のクライアントツールで endpoint の実践的なテストを支援できます。
はい。 Lino は、フロントエンド プロジェクトとバックエンド プロジェクトの認証と認可の生成をサポートします。
はい。 Lino は、セキュリティと ASP.NET Core とのネイティブ統合に重点を置き、API および Web アプリケーションに対して JWT に基づく認証をサポートします。
はい。 Lino のセキュリティ モデルには、ロール、クレーム、および ASP.NET Core の Authorization Policies による、より詳細なアクセス制御が含まれています。
はい。フロントエンドは、ログイン、トークンの更新、ページや API への保護されたアクセスのための認証フローに統合できます。
Lino は lino secret list、lino secret set、lino secret remove、lino secret clear などの secret コマンドを提供し、ローカルの機密値を version 管理されたファイルの外に保ちます。生成された secrets は、publish と deploy の flow 向けに Aspire Parameters としてモデル化することもできます。
はい。生成された APIs は、公開トラフィック、認証済みユーザー、API key 付き routes、一時 token flow 向けの rate limiting policies を最初から持つことができ、本番での細かな調整前の露出を減らします。
Domain Events はドメイン内の内部イベントを表します。 Integration Events は、モジュール、サービス、または外部システムと分離された方法で通信するために使用されます。
はい。 Lino は、アーキテクチャがこのモデルを必要とする場合、アプリケーションの部分間の通信とサービス間の統合のためのイベントをサポートします。
はい。非同期 messaging が有効な場合、Lino は RabbitMQ を broker として設定し、services と modules が疎結合かつ resilient にメッセージを交換できるようにします。
はい。Lino は messaging シナリオで MassTransit を使用し、ネイティブな dependency injection モデルで distributed events の publish、consume、registration を簡素化します。
はい。Lino は Hangfire による background jobs をサポートし、scheduled tasks、非同期処理、recurring operations、Hangfire dashboard による運用上の可視性を扱えます。
domain 内の変更には domain events、modules や services 間の通信には integration events、非同期処理には queues、scheduled、recurring、long-running work には background jobs を使用します。信頼性の高い publishing のために、Lino のシナリオでは Outbox Pattern を使用します。
現在、Lino は、SQL Server や PostgreSQL など、Entity Framework Core と互換性のあるデータベースをサポートしています。
はい。データの永続性は、プロジェクトのライフサイクル全体にわたるモデリング、移行、データベースの進化のために Entity Framework Core に基づいています。
Migrations は Entity Framework Core で管理され、lino database migrations add で作成できます。これにより、deploy 前にモデル変更を明示的、version 管理可能、レビュー可能に保てます。
必ずしもそうとは限りません。モジュラーモノリスでは、モジュールごとに明確に構成された共有バンクが最も一般的です。
マイクロサービスでは、アーキテクチャ的に合理的であれば、各サービスが独自のバンクを持つことができます。
はい。Lino は migrations と script-oriented deploy practices による database evolution をサポートし、services が release 向けに準備されるときに build と versioning の機能と組み合わせます。
はい。 Lino は、バックエンドに統合された Web アプリケーションを生成して、完全なシステムの配信を加速できます。
はい。Lino は、backend APIs に接続された frontend resources、localization、authentication を含む統合 Blazor Web Apps を、該当 features が選択された場合に生成できます。
はい。 Lino アーキテクチャでは、React、Angular、Vue、またはプロジェクトの API を使用するその他のフロントエンドの使用が妨げられません。
はい。フロントエンドは、ログイン、トークンの更新、JWT および認可ポリシーによって保護された API の使用を操作できます。
はい。 Lino は、より標準化された方法でページ、コンポーネント、機能を構造化し、フロントエンドでの繰り返しの意思決定を減らすのに役立ちます。
はい。Lino で生成されたプロジェクトは、structured logging、Aspire dashboard 連携、traces、metrics、operational diagnostics を含め、本番での debugging と analysis を支援できます。
はい。Lino は、オプションが有効な場合に Microsoft HybridCache と Redis による distributed cache のシナリオをサポートし、複数インスタンス間の一貫性を向上させます。
はい。構造、ログ、認証、API、インフラストラクチャを標準化することで、Lino は問題の調査と運用保守を容易にします。
生成された solution は、選択された architecture で使われる .NET ecosystem の practices に従い、health checks、metrics、traces、logs、Aspire による resource visibility を組み込めます。
はい。Lino は build flow により services と web applications の Docker images を生成でき、registries や containerized environments 向けの artifacts のパッケージ化を支援します。
はい。生成されたプロジェクトは、ビルド、テスト、パッケージ化、移行、自動デプロイメントのために CI/CD パイプラインと統合できます。
Build と versioning は SemVer-oriented practices に従うことができ、Lino は選択された services と web applications を release 用に versioned Docker images としてパッケージ化することをサポートします。
はい。プロジェクトは、チームの運用戦略に応じて、クラウド、コンテナ化された環境、または独自のインフラストラクチャで公開できます。
はい。 Lino は、Docker、標準化されたビルド、永続性、認証、パイプラインとの統合により、実稼働環境へのデプロイのための技術セットアップを加速します。
Lino は lino feature tenant add または lino features tenant add により multi-tenant support を含みます。生成された構造は domain または slug で tenants を解決し、context ごとの permissions を適用し、tenant に紐づく data を保護できます。
Shadow entities は、ある module が別の context から必要とする最小限の data のローカルコピーです。lino shadow new コマンドが構造を作成し、対応する integration event handler は lino event-handler new で別途生成する必要があります。
はい。Roadmap は継続的な進化を示し、JWT authentication、Blazor Web Apps、Hangfire、RabbitMQ/MassTransit、migrations、Docker build、HybridCache、多言語 resources、smart merge、secrets、rate limiting など、多くの完了済み capabilities も示しています。
完了済み roadmap には、.NET/Aspire project generation、modular services、Minimal APIs、SQL Server と PostgreSQL support、background jobs、messaging、JWT security、Blazor Web Apps、Docker build/versioning、user secrets、rate limiting、tenant support、shadow entities などの主要 capabilities が含まれます。
Code generation、integrations、developer experience、deploy workflows、observability、security hardening、template coverage は、製品の成長に合わせて進化し続けています。
変更は roadmap ページ、documentation、製品の公式チャネルで確認できます。完了済み features と計画中の improvements を区別する必要がある場合は、roadmap の status を優先してください。