> For the complete documentation index, see [llms.txt](https://kerno.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kerno.gitbook.io/docs/core-concepts.md).

# CORE CONCEPTS

- [How Kerno works](https://kerno.gitbook.io/docs/core-concepts/how-kerno-works.md): Understand how Kerno works, from indexing your codebase to validating code changes.
- [Codebase indexing](https://kerno.gitbook.io/docs/core-concepts/codebase-indexing.md): Understand how Kerno builds a deterministic index of your codebase, keeps it up to date, and why it matters for accurate validation.
- [Environment Setup](https://kerno.gitbook.io/docs/core-concepts/environment-setup.md): How Kerno connects to your running application and its dependencies, and what access you choose to give it.
- [Scenarios and Baselines](https://kerno.gitbook.io/docs/core-concepts/scenarios-and-baselines.md): Understand how Kerno generates test scenarios for your endpoints, what a baseline is, and how both stay in sync as your code evolves.
- [Custom rules](https://kerno.gitbook.io/docs/core-concepts/custom-rules.md): Teach Kerno your team's conventions once, in version control, instead of repeating them every time you generate tests.
- [Change Validation](https://kerno.gitbook.io/docs/core-concepts/change-validation.md): Understand how Kerno validates your code changes and catches breaking changes and unintended side effects before they ship.
- [Security testing](https://kerno.gitbook.io/docs/core-concepts/security-testing.md): How Kerno tests your endpoints for vulnerabilities, and how it reports what it finds.
- [Memory and learning](https://kerno.gitbook.io/docs/core-concepts/memory-and-learning.md): Kerno remembers what it worked out about your codebase, and knows which revision it learned each thing at.
