## Build results [Bb]in/ [Oo]bj/ [Oo]ut/ [Ll]og/ [Ll]ogs/ # artifacts/* rather than artifacts/ — git does not descend into an excluded directory, # so a negation under a directory-level ignore never matches. The committed OpenAPI # document and schema snapshots live here and are CI-diffed. artifacts/* !artifacts/openapi/ !artifacts/schema/ ## .NET / MSBuild *.user *.suo *.userosscache *.sln.docstates project.lock.json project.fragment.lock.json *.binlog *.nuget.props *.nuget.targets msbuild.log msbuild.err msbuild.wrn ## NuGet *.nupkg *.snupkg .nuget/ **/packages/* !**/packages/build/ # packages.lock.json IS committed — restore --locked-mode depends on it ## Test / coverage [Tt]est[Rr]esult*/ coverage*.json coverage*.xml coverage*.info *.coverage *.coveragexml TestResults/ BenchmarkDotNet.Artifacts/ ## IDEs .vs/ .vscode/* !.vscode/extensions.json !.vscode/launch.json !.vscode/tasks.json .idea/**/workspace.xml .idea/**/tasks.xml .idea/**/usage.statistics.xml .idea/**/dictionaries/ .idea/**/shelf/ .idea/**/contentModel.xml .idea/**/dataSources/ .idea/**/dataSources.ids .idea/**/dataSources.local.xml .idea/**/sqlDataSources.xml .idea/**/httpRequests/ *.DotSettings.user ## OS .DS_Store Thumbs.db desktop.ini ## Node (xterm.js bundle in DodoSSH.Client.WebAssets) node_modules/ npm-debug.log* yarn-error.log* .pnpm-store/ ## Client build / packaging output publish/ Releases/ *.AppImage *.dmg *.deb *.rpm *.msix *.appinstaller ## Secrets and local config — never commit these *.pfx *.p12 *.snk # Signing keystores, with one exception that is tracked deliberately. build/nightly.keystore is # committed in the open on purpose — see ADR 0014 for why a key everybody holds is what makes the # nightly channel safe to run in CI — and a file already tracked is unaffected by an ignore rule # anyway. The negation is here so that reading this list does not suggest the tracked one is an # oversight. The *release* keystore is a real secret under ADR 0011 rule 1 and must never land here. *.keystore *.jks !build/nightly.keystore appsettings.Local.json appsettings.*.Local.json .env .env.* secrets/