Thanks for your interest in contributing to CoreIdent!
- External providers — Microsoft, GitHub, Apple (see
src/CoreIdent.Providers.Google/for the pattern) - Storage adapters — MongoDB, Redis, etc. (implement
IUserStore,IClientStore, etc.) - UI themes — Razor/Blazor components for login, consent, account management
- Documentation — Guides, examples, translations
- Bug fixes — Check GitHub Issues
- Fork the repository and create a feature branch from
main - Follow the coding standards in
CLAUDE.md(they apply to humans too) - Write tests before or alongside your code — all PRs must include tests
- Use conventional commit prefixes:
feat:,fix:,test:,docs:,chore:,refactor: - One feature per commit — keep commits atomic
- Ensure
dotnet test CoreIdent.slnpasses before submitting - Open a pull request against
mainwith a clear description
This repo includes a VS Code Dev Container configuration under .devcontainer/.
Prerequisites:
- VS Code
- Docker Desktop (or another Docker runtime)
- VS Code extension:
Dev Containers(ms-vscode-remote.remote-containers)
Steps:
- Open this repo in VS Code.
- Run:
Dev Containers: Reopen in Container. - In the container, restore/build/test:
dotnet restore CoreIdent.sln
dotnet test CoreIdent.slnCoreIdent uses Coverlet's cross-platform data collector for coverage.
Run coverage for the full solution:
dotnet test CoreIdent.sln --collect:"XPlat Code Coverage"Run coverage for a single test project:
dotnet test tests/CoreIdent.Integration.Tests/CoreIdent.Integration.Tests.csproj --collect:"XPlat Code Coverage"Coverage artifacts are emitted under each test project's TestResults/ directory as coverage.cobertura.xml.
Coverage notes:
- All tests should include descriptive assertion messages (see
CLAUDE.mdfor the expected Shouldly style).
Dev container notes:
- The container image includes the .NET 10 SDK.
- SQLite tooling is installed in the container for convenience.
Prerequisites:
- .NET 10 SDK
Then:
dotnet restore CoreIdent.sln
dotnet test CoreIdent.sln