Build with Nile
Ship business operations with a consistent structure your team can follow as the application grows
Build your backend around services and actions. A service groups a business domain, such as billing. An action defines one operation with a validation schema and a handler. Your team and coding agents can follow the same structure as you add features.
Start with one operation
Create the starter project, call its Tasks service and add your first action. Keep using its domain structure as you add operations.
| Your next task | Guide |
|---|---|
| See every built-in feature with an example | Features |
| Build a complete feature step by step | Examples |
| Find a home for growing business logic | Application structure |
| Validate input and return useful failures | Actions and errors and Results |
| Share resources and access policies | Context and authentication |
| Connect your frontend | Frontend client |
| Add live updates | Sockets and typed messages |
| Schedule work and control concurrency | Production operations |
| Trace a failed operation | Logging |
| Use the handler context, hooks and execution options | Advanced |
Keep the business logic yours
Use ordinary TypeScript functions for domain rules and your chosen library for data access. Nile Js supplies the shared execution patterns: validation, Results, hooks, context and logging. Register your services explicitly so someone joining the project can see which operations it exposes.
Choose Bun native or the Hono adapter for HTTP. Call the same action through server.invoke within your backend, or expose it over Socket.IO when your application needs a connected client.
Work with a coding assistant
Give your assistant the Nile Js skill and the documentation index, and expose selected runtime schemas through discovery. Documentation explains Nile Js conventions; your application's schemas describe its operations and input shapes. Build with AI agents walks through the setup.