# Nova > Nova is a memory-safe systems programming language with C#- and TypeScript-style syntax, compiled ahead of time to > portable C11. Ownership and borrowing are checked at compile time; there is no garbage collector. It targets > operating-system kernels (CosmoOS, and C codebases such as Linux) as well as ordinary programs. Agents writing Nova: read the agent guide first, and use `novac mcp` (an MCP server with a checker, fixes, a sandboxed interpreter and this documentation) or `novac check --diagnostics-format=json` and `novac fix`. ## Guide - [What Nova is](https://vkuttyp.github.io/Nova/guide/introduction.md) - [Installation](https://vkuttyp.github.io/Nova/guide/installation.md) - [Getting started](https://vkuttyp.github.io/Nova/guide/getting-started.md) - [Nova for AI agents](https://vkuttyp.github.io/Nova/guide/for-agents.md) - [Basics](https://vkuttyp.github.io/Nova/guide/basics.md) - [Structs, enums and patterns](https://vkuttyp.github.io/Nova/guide/structs-and-enums.md) - [Ownership and borrowing](https://vkuttyp.github.io/Nova/guide/ownership.md) - [Errors](https://vkuttyp.github.io/Nova/guide/errors.md) - [Memory and allocation](https://vkuttyp.github.io/Nova/guide/memory.md) - [Arrays, slices and collections](https://vkuttyp.github.io/Nova/guide/collections.md) - [Generics and interfaces](https://vkuttyp.github.io/Nova/guide/generics.md) - [Functions and closures](https://vkuttyp.github.io/Nova/guide/closures.md) - [Unsafe code and C](https://vkuttyp.github.io/Nova/guide/unsafe-and-c.md) - [Kernel code](https://vkuttyp.github.io/Nova/guide/kernel.md) - [The novac command](https://vkuttyp.github.io/Nova/guide/novac.md) - [Packages](https://vkuttyp.github.io/Nova/guide/packages.md) - [Formatting and documentation](https://vkuttyp.github.io/Nova/guide/formatting-and-docs.md) - [Editors](https://vkuttyp.github.io/Nova/guide/editors.md) - [Debugging](https://vkuttyp.github.io/Nova/guide/debugging.md) - [Coming from another language](https://vkuttyp.github.io/Nova/guide/coming-from/index.md) - [Nova for Rust programmers](https://vkuttyp.github.io/Nova/guide/coming-from/rust.md) - [Nova for Zig programmers](https://vkuttyp.github.io/Nova/guide/coming-from/zig.md) - [Nova for C and C++ programmers](https://vkuttyp.github.io/Nova/guide/coming-from/c-and-cpp.md) - [Nova for C#, Java and TypeScript programmers](https://vkuttyp.github.io/Nova/guide/coming-from/csharp-java-typescript.md) - [Nova for Go programmers](https://vkuttyp.github.io/Nova/guide/coming-from/go.md) - [Threads](https://vkuttyp.github.io/Nova/guide/threads.md) ## Specification - [Nova Grammar — M1 subset](https://vkuttyp.github.io/Nova/reference/grammar.md) - [Type System and Static Semantics — M1 subset](https://vkuttyp.github.io/Nova/reference/type-system.md) - [Diagnostics](https://vkuttyp.github.io/Nova/reference/diagnostics.md) - [Unsafe Code — Contract and Checks](https://vkuttyp.github.io/Nova/reference/unsafe.md) - [Ownership, Borrowing and Lifetimes — Formal Safety Design (v0)](https://vkuttyp.github.io/Nova/reference/ownership.md) - [References and the Borrow Checker (M2b)](https://vkuttyp.github.io/Nova/reference/lifetimes.md) - [Nova Memory Model and Allocation Architecture (v0)](https://vkuttyp.github.io/Nova/reference/memory-model.md) - [Formatting (M10 T1)](https://vkuttyp.github.io/Nova/reference/formatting.md) - [Tooling (M10)](https://vkuttyp.github.io/Nova/reference/tooling.md) - [C Backend Design (v0)](https://vkuttyp.github.io/Nova/reference/c-backend.md) ## Optional - [Everything above in one file](https://vkuttyp.github.io/Nova/llms-full.txt) - [Library: lib/core](https://vkuttyp.github.io/Nova/reference/api/core.md) - [Roadmap](https://vkuttyp.github.io/Nova/reference/roadmap.md) - [Design decisions (ADRs)](https://vkuttyp.github.io/Nova/reference/decisions/0001-compiler-implementation-language)