193
Typed Extraction: Extract structured data from LLM responses using TypeScript types.
Function Calling: Enable LLMs to call your functions directly.
Context as a Parameter: Pass context to LLM calls using dot-prefixed parameters, which are composed into prompts without needing manual string assembly.
Simplified Syntax: `infer` replaces `async`, and `ask` replaces `await`, making LLM interactions feel natural.
Toolchain Integration: Nola's build process lowers .tsi files to plain TypeScript, compatible with standard bundlers and runtimes like esbuild and V8.
Observability: Features like the `nola console` provide detailed tracing of LLM interactions, including prompts, schemas, providers, and outcomes.
Editor Support: Integrated support for VS Code, with upcoming support for Zed and JetBrains, offering features like syntax highlighting, debugging, and code completion.
Agent Compatibility: Nola files are designed to be read by coding agents, enhancing developer productivity.
Offline First: Projects can be scaffolded and run offline, allowing for development and testing without immediate API key requirements.
Nola aims to eliminate the boilerplate associated with prompt engineering and SDK integration, allowing developers to focus on types and logic rather than glue code. Its pipeline involves writing in .tsi, lowering to plain TS, and then resolving with a provider, offering a streamlined development experience.
Built with