Agility in development, excellence in code.

Lino is a command-line tool (CLI) designed to boost productivity and deliver clean, robust, and high-quality code. With an interactive interface, Lino enables the creation of modern and scalable applications from the very first command.

dotnet tool install --global Tolitech.Lino --version 1.0.0-alpha.10
🔧 Installing the Lino tool globally...
lino project new --name MyProject
🚀 Creating a new project with .NET 9 + Aspire...
lino service new --name MyService
📦 Adding a new modular service...
lino module new --name MyModule
🔌 Creating module with Clean Architecture...
lino entity new --name MyEntity
📚 Generating new domain entity...

Modern Technology Stack

Develop using the latest technologies from the .NET ecosystem.

.NET 9

.NET 9 introduces updated features and performance improvements to deliver more efficient applications.

.NET Aspire

Take full advantage of support for cloud-native development, modern architecture, and simplified integration.

Multi-language support

Build multilingual applications that serve diverse audiences, delivering a personalized experience.

Flexible security

Implement secure authentication with JWT and adaptable permission control for personalized access.

Multiple databases

Assign dedicated databases to each service, with support for SQL Server and PostgreSQL.

Choose your architecture

Develop using microservices or adopt a modular monolith, ensuring flexibility and scalability.

Distributed cache

Optimize performance with optional caching between services or instances.

Messaging

Improve communication between services or modules with efficient and scalable asynchronous message exchange.

Transactional Outbox Pattern

Ensure reliable message delivery by keeping messages persistent before sending.

Task Scheduling

Schedule jobs and processes in a flexible and scalable way, ensuring execution at the right time.

Clean Architecture

Keep your application layered with clear separation, ensuring organized and maintainable code.

Code Analysis

Ensure code quality and readability by applying best practices with static analysis.

Agile, efficient, and high-performance code

Build robust backends with modern architecture and established practices.

Starting a new project?

Choose the language, your preferred stack, and start your project quickly and efficiently.

Microservices or Monolith?

Add independent services or opt for a single service, depending on your needs.

How about a modular monolith?

Keep your monolith organized and ready to scale with decoupled, easy-to-maintain modules.

Rich domains

Create entities, aggregates, value objects, domain services, enums, events, and more.

Database migrations

With simple commands, create, document, and generate scripts for database changes.

APIs? Frontend? Integrations?

Yes, create robust APIs, consume them in web pages, develop integrations, and much more.

Lino vs AI Code Generation

More than just a code assistant, Lino offers intelligent generation focused on quality, standardization, and continuous updates with the latest in the .NET ecosystem.

Differentiator Lino Conventional Code Assistants
Architectural Control Guarantees full architectural control by consistently applying the principles of Clean Architecture to generate modular, testable, and maintainable systems. Depends on the quality of the prompt, with no guarantees of architectural consistency.
Code Consistency Maintains consistent standards and practices throughout the project, promoting uniformity and quality. May generate inconsistencies, varying based on the prompt provided.
Context Knowledge Fully understands the project structure, maintaining coherence and alignment with the domain. Limited to the context of the current prompt, with no memory of previous interactions.
Security Automatically implements security practices and validations, reducing vulnerabilities. May generate vulnerable code if not explicitly specified in the prompt.
Maintainability Produces well-organized and documented code, making system maintenance and evolution easier. Variable quality, potentially requiring frequent refactoring.
Tool Integration Offers native integration with .NET tools and modern development practices. Relies on generic knowledge, potentially suggesting outdated or incompatible practices.
Development Speed Enables fast and precise development, minimizing the need for extensive adjustments. Requires frequent review and adjustments to achieve the desired quality.
Scalability Architecture designed for growth from the start, facilitating system scalability. May require significant rework to scale properly.
Predictable Output Generates consistent results with the defined stack, ensuring predictability in development. Variable results, possibly requiring constant review.
Production-Ready Generated code is production-ready, following secure and reusable standards. Not always production-ready; may require additional rework.
Code Standardization High standardization across projects, promoting uniformity and easing team collaboration. Low standardization, depending on the context and prompt provided.
Productivity with Quality Enables rapid code generation without compromising system robustness and quality. Rapid generation, but with variable quality, requiring additional validation.
Cost Management Predictable cost model, with no variations even as the project's complexity or scale increases. Variable and hard-to-estimate costs, increasing as the project requires more context and token processing.

Why use Lino?

Lino is the tool that boosts productivity without compromising code quality.

Just for .NET developers?

While it currently generates code in C#/.NET, the tool is designed to support other languages and technologies in the future.

What architectures can I adopt for my project?

Choose between microservices for scalability, monoliths for simplicity, or modular monoliths for a balanced approach.

Which databases are supported?

Currently, the tool supports SQL Server and PostgreSQL, with plans to expand to other databases based on market demand.

How does the tool handle globalization and localization?

Create multilingual projects with support for up to 10 languages and automatic translations, making it easier to adapt to different markets and regions.

What approaches can I use to implement my services?

Currently, the tool follows Clean Architecture, but we are ready to integrate new approaches like Vertical Slice Architecture based on market needs.

Can I use typed Ids in my domain?

Yes, using Strongly Typed Ids enhances the security and robustness of the code by preventing common typing errors.

How does the system handle enumerations?

You can create and use classic enums, smart enums, or even persist them as tables, ensuring data integrity between them.

Will more stacks be available?

Yes, as new frameworks and versions emerge, we plan to expand the number of stacks available for each language, always aligned with market demands.

What about the frontend?

Currently, we generate Blazor Web App projects for the frontend (Server and WebAssembly), but we plan to expand soon to other frameworks, offering even more options for building modern and dynamic interfaces.

An unhandled error has occurred. Reload 🗙