Skip to content

Commit f400d32

Browse files
committed
Add agents.md
1 parent 5c7741d commit f400d32

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

AGENTS.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Repository Guidelines
2+
3+
## Project Structure & Module Organization
4+
- `Src/` holds all production code. Core library lives in `Src/FastData`, generators in `Src/FastData.Generator*`, CLI in `Src/FastData.Cli`, and source generator in `Src/FastData.SourceGenerator`.
5+
- Tests live in `Src/*Tests` (e.g., `Src/FastData.Tests`, `Src/FastData.Generator.CSharp.Tests`). Benchmarks are under `Src/*Benchmarks`.
6+
- Shared test utilities are in `Src/FastData.InternalShared`. Examples are in `Src/FastData.Examples` and `Src/FastData.SourceGenerator.Examples`.
7+
- Documentation is under `Docs/`, and build/publish scripts are in `Scripts/`.
8+
9+
## Build, Test, and Development Commands
10+
- `dotnet build FastData.sln -c Debug` builds the full solution.
11+
- `pwsh Scripts/Build.ps1` runs the scripted build (Debug by default).
12+
- `dotnet test FastData.sln -c Debug` runs all test projects.
13+
- `dotnet run -c Release --project Src/FastData.Benchmarks/FastData.Benchmarks.csproj` runs BenchmarkDotNet benchmarks.
14+
15+
## Coding Style & Naming Conventions
16+
- Follow `.editorconfig`: C# uses 4-space indentation and file-scoped namespaces.
17+
- Prefer explicit types over `var` (see `csharp_style_var_* = false`).
18+
- Avoid adding trailing newlines; trim trailing whitespace on save.
19+
20+
## Testing Guidelines
21+
- Tests use xUnit v3 (via `Microsoft.NET.Test.Sdk`).
22+
- Snapshot-like expectations using Verify live under `Src/*Tests/Verify` as `.verified.txt` files.
23+
- Add tests alongside the relevant `*Tests` project and keep naming aligned with existing patterns (e.g., `FeatureTests`, `VectorTests`).
24+
25+
## Local Configuration
26+
- `Locals/` contains optional, machine-specific MSBuild overrides. Do not commit secrets or environment-specific paths.
27+
28+
## Others
29+
- Don't touch public API files PublicAPI.Shipped.txt and PublicAPI.Unshipped.txt; they are auto-generated.

FastData.sln

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Docs", "_Docs", "{F499974F
135135
Docs\DataStructures.md = Docs\DataStructures.md
136136
Docs\HowWork.md = Docs\HowWork.md
137137
Docs\Optimizations.md = Docs\Optimizations.md
138+
AGENTS.md = AGENTS.md
138139
EndProjectSection
139140
EndProject
140141
Global

0 commit comments

Comments
 (0)