# Differens > Differens is a semantic diff engine that reports renames, moves, and extractions instead of changed lines. Works with or without git, as a CLI or a library. ## Docs - [Introduction](https://differens.ossl.dev/index.md): Differens tells you what actually changed in your code, not which lines changed. - [Installation](https://differens.ossl.dev/getting-started/installation.md): Install the Differens CLI and libraries - [Quickstart](https://differens.ossl.dev/getting-started/quickstart.md): Run your first semantic diff in under a minute - [Architecture](https://differens.ossl.dev/how-it-works/architecture.md): How Differens turns files into semantic diffs - [Tree Matching](https://differens.ossl.dev/how-it-works/tree-matching.md): How the GumTree algorithm finds structural matches between two code trees - [Tier Pipeline](https://differens.ossl.dev/how-it-works/tier-pipeline.md): How the content router classifies files and dispatches to the right parser - [Cross-File Correlation](https://differens.ossl.dev/how-it-works/cross-file-correlation.md): How Differens detects moves and renames across files - [Git Integration](https://differens.ossl.dev/guides/git-integration.md): Use Differens as your git diff tool - [Machine Outputs](https://differens.ossl.dev/guides/machine-outputs.md): JSON, LLM, and streaming formats for tooling and AI - [Benchmarks](https://differens.ossl.dev/guides/benchmarks.md): Performance characteristics and comparison to git diff - [Language Support](https://differens.ossl.dev/languages/overview.md): Which languages get semantic diffs and what that means - [TypeScript / JavaScript](https://differens.ossl.dev/languages/typescript.md): Semantic diffing for TypeScript and JavaScript - [Python](https://differens.ossl.dev/languages/python.md): Semantic diffing for Python - [Rust](https://differens.ossl.dev/languages/rust.md): Semantic diffing for Rust - [Go](https://differens.ossl.dev/languages/go.md): Semantic diffing for Go - [Tier Adapters](https://differens.ossl.dev/languages/tiers.md): How non-code file formats are diffed - [@ossl-dev/differens-core](https://differens.ossl.dev/reference/core.md): Tree matching and edit script API reference - [@ossl-dev/differens-tiers](https://differens.ossl.dev/reference/tiers.md): Content router and tier adapter API reference - [@ossl-dev/differens-narrate](https://differens.ossl.dev/reference/narrate.md): Narration engine API reference - [@ossl-dev/differens-correlate](https://differens.ossl.dev/reference/correlate.md): Cross-file correlation API reference - [@ossl-dev/differens-git](https://differens.ossl.dev/reference/git.md): Git integration API reference - [CLI Reference](https://differens.ossl.dev/reference/cli.md): The differens command: all flags, formats, and modes - [Contributing](https://differens.ossl.dev/guides/contributing.md): How to contribute to Differens - [Troubleshooting](https://differens.ossl.dev/guides/troubleshooting.md): Common issues and how to fix them