开发敏捷,代码卓越。

Lino 是一个命令行工具(CLI),旨在提升生产力,生成干净、健壮且高质量的代码。 通过交互式界面,Lino 可从第一个命令开始创建现代化和可扩展的应用程序。

dotnet tool install --global Tolitech.Lino
ok 正在全局安装 Lino 工具...
lino project new --name MyProject
ok 正在使用 .NET 10 + Aspire 创建新项目...
lino service new --name MyService
ok 正在添加新的模块化服务...
lino module new --name MyModule
ok 正在使用 Clean Architecture 创建模块...
lino entity new --name MyEntity
ok 正在生成新的领域实体...

在单一 CLI 中创建完整应用的能力

使用 Lino,您可以启动完整项目、创建服务、添加模块,并生成开发结构良好且一致的应用程序所需的全部架构。

构建实体、值对象、枚举和事件,无论是领域事件还是集成事件,并为您的应用层组织 命令 和 查询。

创建 Minimal APIs、Blazor 页面和组件,配置数据库迁移,并快速生成 Docker 镜像 — 所有操作只需几个命令。

现代技术栈

使用 .NET 生态系统中的最新技术进行开发。

.NET 10

.NET 10 引入了更新的功能和性能改进,让应用程序更高效。

.NET Aspire

全面支持 cloud-native 开发、现代架构与简化集成。

多语言支持

构建多语言应用,服务多元用户群体,提供个性化体验。

灵活安全

通过 JWT 实现安全认证,并配置灵活的权限控制。

多数据库支持

为每个服务分配独立数据库,支持 SQL Server 和 PostgreSQL。

架构选择

选择微服务架构或模块化单体,确保应用的灵活性和可扩展性。

分布式缓存

启用服务或实例之间的可选缓存功能,优化应用性能。

消息传递系统

通过高效且可扩展的异步消息传递,提升服务或模块之间的通信。

事务性出站模式

确保消息可靠发送,在发送前保持持久性存储。

任务调度

灵活且可扩展地调度任务和流程,确保它们在正确的时间执行。

Clean Architecture

保持应用具有清晰分层,确保代码结构清晰、易于维护。

代码分析

通过静态分析和最佳实践,保障代码质量与可读性。

敏捷、高效且高性能的代码

使用现代架构和成熟实践构建强大的后端。

要创建一个新项目吗?

选择语言和喜欢的技术栈,快速高效地开始你的项目。

微服务还是单体?

你可以添加独立的服务,或根据需要选择一个单一服务。

试试模块化单体架构怎么样?

保持你的单体结构有序且易于扩展,使用解耦的模块实现易维护性。

丰富的领域模型

创建实体、聚合、值对象、领域服务、枚举、事件等等。

数据库迁移

通过简单的命令,创建、文档化并生成数据库变更脚本。

API?前端?集成?

是的,您可以创建强大的 API,在网页中使用它们,开发集成等等。

Lino 与 AI 在同一工作流中

Lino 会预先准备项目,让人员和 AI 代理在同一上下文中工作:标准化结构、.md 文件文档、SDD(Spec-Driven Development,即规格驱动开发)以及本地规则,从而在任何变更前减少猜测。

为 AI 准备的上下文

项目从一开始就包含 AGENTS.md、docs/ai、skills 和实现规则,用于在任何代码变更前指导代理。

先有 SDD,再写代码

docs/specs 提供模板、示例、状态以及就绪和完成标准,将决策转化为可执行计划。

已文档化的架构

docs/architecture、docs/services、docs/webapps 和 docs/tests 说明每个区域的结构、边界、模式和验证。

清晰的职责

Lino 创建脚手架并保持约定;AI 在现有结构内实现规则,减少猜测。

为什么选择 Lino?

Lino 是一款在不影响代码质量的前提下提升开发效率的工具。

仅限 .NET 开发者?

虽然目前生成的是 C#/.NET 代码,该工具未来也计划支持其他语言与技术。

我的项目可以采用哪些架构?

可选择微服务以提升可扩展性,选择单体架构以简化开发,或选择模块化单体以实现平衡。

该工具支持哪些数据库?

目前,该工具支持 SQL Server 和 PostgreSQL,并计划根据市场需求扩展至其他数据库。

该工具如何处理全球化与本地化?

创建支持最多10种语言和自动翻译的多语言项目,方便适应不同的市场和地区。

我可以采用哪些架构方法来实现我的服务?

目前该工具采用 Clean Architecture,但我们也准备根据市场需求集成如 Vertical Slice Architecture 等新架构方法。

我可以在领域模型中使用强类型 ID 吗?

是的,使用强类型ID可以提高代码的安全性和健壮性,避免常见的类型错误。

系统如何处理枚举?

您可以创建和使用传统枚举、智能枚举,甚至可以将其持久化为表格,以确保数据一致性。

我们会有更多可用的技术栈吗?

是的,随着新的框架和版本的出现,我们计划根据市场需求扩展每种语言可用的技术栈数量。

前端方面呢?

目前我们在前端生成 Blazor Web App 项目(Server 和 WebAssembly),但很快我们计划扩展到其他框架,提供更多构建现代动态界面的选项。

发生了未处理的错误。 重新加载 🗙