---
title: Configuration
---

The proxy generator is configured through MSBuild properties and item groups in your `.csproj` file. Configuration is split into the following topics:

- [Basic Options](/arc/backend/proxy-generation/configuration/basic/) — output path, segments to skip, source file output, decorator metadata
- [Library Mode](/arc/backend/proxy-generation/configuration/library-mode/) — generate TypeScript for every public type in the assembly
- [Type Exclusions](/arc/backend/proxy-generation/configuration/type-exclusions/) — exclude specific types or namespaces from generation
- [Namespace Roots](/arc/backend/proxy-generation/configuration/namespace-roots/) — pin a namespace as the folder root
- [Assembly-to-Package Mappings](/arc/backend/proxy-generation/configuration/assembly-package-mappings/) — import from external npm packages instead of regenerating
- [Routing](/arc/backend/proxy-generation/configuration/routing/) — control how API routes are built
- [Output Behavior](/arc/backend/proxy-generation/configuration/output-behavior/) — incremental vs. full regeneration

## Quick Reference

| Property / Item | Default | Topic |
|---|---|---|
| `CratisProxiesOutputPath` | *(required)* | [Basic](/arc/backend/proxy-generation/configuration/basic/) |
| `CratisProxiesSegmentsToSkip` | `0` | [Basic](/arc/backend/proxy-generation/configuration/basic/) |
| `CratisProxiesUseSourceFileAsOutputFile` | `false` | [Basic](/arc/backend/proxy-generation/configuration/basic/) |
| `CratisProxiesLibraryMode` | `false` | [Library Mode](/arc/backend/proxy-generation/configuration/library-mode/) |
| `<ExcludeType TypeName="..."/>` | — | [Type Exclusions](/arc/backend/proxy-generation/configuration/type-exclusions/) |
| `<ExcludeNamespace Namespace="..."/>` | — | [Type Exclusions](/arc/backend/proxy-generation/configuration/type-exclusions/) |
| `<NamespaceRoot Namespace="..."/>` | — | [Namespace Roots](/arc/backend/proxy-generation/configuration/namespace-roots/) |
| `<AssemblyToPackageMapping .../>` | — | [Assembly-to-Package](/arc/backend/proxy-generation/configuration/assembly-package-mappings/) |
| `CratisProxiesSkipCommandNameInRoute` | `false` | [Routing](/arc/backend/proxy-generation/configuration/routing/) |
| `CratisProxiesSkipQueryNameInRoute` | `false` | [Routing](/arc/backend/proxy-generation/configuration/routing/) |
| `CratisProxiesApiPrefix` | `api` | [Routing](/arc/backend/proxy-generation/configuration/routing/) |
| `CratisProxiesSkipIndexGeneration` | `false` | [Output Behavior](/arc/backend/proxy-generation/configuration/output-behavior/) |
| `CratisProxiesSkipOutputDeletion` | `true` | [Output Behavior](/arc/backend/proxy-generation/configuration/output-behavior/) |
| `CratisProxiesSkipFileIndexTracking` | `false` | [Output Behavior](/arc/backend/proxy-generation/configuration/output-behavior/) |
