dasiths/SimpleEndpoints
54.9
Adequate · 21 September 2026
739
lines of production code
C#
primary language
4
measurements over time
What this system is
SimpleEndpoints is a .NET library that simplifies the creation of ASP.NET Core API endpoints by providing a structured, convention-based approach to routing and metadata enrichment. It offers a hierarchy of base classes and attributes that automatically configure HTTP methods and route templates, allowing developers to define endpoints with minimal boilerplate. The system includes a configurable pipeline for metadata enrichment and supports both generic and verb-specific endpoint implementations, as demonstrated in the provided example application.
Features
Add SimpleEndpoints.Example project with Swagger and trace logging
The SimpleEndpoints.Example project has been added to the solution, providing a complete demonstration of the library's routing capabilities. The example application is configured with a base type routing convention, a route prefix, and Swashbuckle (Swagger) integration for API documentation. Additionally, the project includes configuration for trace-level logging in development environments.
src/SimpleEndpoints.Example · high confidence
Add Weather Forecast example endpoint
A new example endpoint has been added to demonstrate the framework's capabilities. This includes a WeatherForecast data model and a corresponding endpoint implementation that returns a list of weather forecasts with temperature and summary data.
src/SimpleEndpoints.Example/Endpoints/WeatherForecast · high confidence
Added SimpleEndpoints routing and metadata enrichment services
A new \ServiceCollectionExtensions\ class introduces the \AddSimpleEndpointsRouting\ method, which registers core infrastructure for the SimpleEndpoints library. This includes registering \EndpointRoutingConvention\ and \EndpointApiDescriptionProvider\, configuring MVC options to apply the routing convention, and providing a generic \AddEndpointMetadataEnricher\ method to register specific metadata enrichers such as \RouteEndpointMetadataEnricher\ and \HttpMethodEndpointMetadataEnricher\.
src/SimpleEndPoints/Extensions · medium confidence
Adds verb-scoped endpoint base classes for HTTP methods
The library now provides abstract base classes for each HTTP verb (GET, POST, PUT, DELETE) in the \SimpleEndpoints.VerbScoped\ namespace. These new classes—such as \GetEndpoint\, \PostEndpoint\, \PutEndpoint\, and \DeleteEndpoint\ (along with their async and response-generating variants)—allow developers to create endpoints by inheriting from verb-specific types rather than a generic base. This change introduces a more explicit, verb-oriented API for defining endpoints.
src/SimpleEndPoints/VerbScoped · high confidence
Introduce SimpleEndpointsConfiguration for endpoint customization
A new configuration class, SimpleEndpointsConfiguration, has been added to allow users to customize endpoint behavior. This includes setting a route prefix, defining a naming convention ending for endpoints, and configuring the execution order for metadata enrichers and API description providers. Additionally, the configuration now supports defining route tokens via a dictionary, enabling more flexible URL templating.
src/SimpleEndPoints · medium confidence
Introduce core endpoint base classes and HTTP verb enumeration
Added new core abstractions for ASP.NET Core endpoints, including the \SimpleEndpointBase\ class which provides a common base with route templating using \\[endpoint\]\ and \\[prefix\]\ tokens. The update introduces eight abstract endpoint classes (e.g., \AsyncEndpoint\, \EndpointWithRequest\) that enforce a single \Handle\ method signature for request/response handling. Additionally, an \HttpVerb\ enum and \SimpleEndpointAttribute\ are added to support declarative HTTP method configuration on endpoint classes.
src/SimpleEndPoints/Core · medium confidence
New Greeting endpoint examples demonstrating various HTTP method and routing configurations
Added GreetingEndpoint.cs containing example implementations for the SimpleEndpoints library. The file demonstrates how to create GET and POST endpoints by extending AsyncEndpoint and AsyncGetEndpoint, showing how to handle query parameters, override route segments, and use custom attributes like \[SimpleEndpoint\] for explicit HTTP verb configuration.
src/SimpleEndpoints.Example/Endpoints/Greeting · high confidence
Behavioural changes
Added SimpleMessage endpoint example with custom routing
Introduced a new example endpoint for SimpleMessage that demonstrates the library's base type routing convention. The implementation consolidates the request and response models and uses a single HandleAsync method, with a custom route path ('custom') applied via the \[Route\] attribute.
src/SimpleEndpoints.Example/Endpoints/SimpleMessage · medium confidence
Introduce configurable endpoint metadata enrichment pipeline
The framework now uses a new, ordered pipeline of metadata enrichers to automatically configure HTTP methods and route templates for controllers marked with SimpleEndpointAttribute. This change introduces an IEndpointMetadataEnricher interface and specific enrichers (HttpMethodEndpointMetadataEnricher, RouteEndpointMetadataEnricher) that process controller models to add HttpMethodMetadata and update route templates. An EndpointApiDescriptionProvider ensures API descriptions correctly reflect the HTTP methods, and an EndpointRoutingConvention orchestrates the execution of these enrichers in a defined order.
src/SimpleEndPoints/Enrichers · medium confidence
Test coverage
Added WebAppFactory test helper; Added unit tests for endpoint routing conventions; Added unit tests for the Greeting endpoint.
Dependencies
Initial project structure and dependency definitions
The repository now includes three new .csproj files that define the build configuration for the main library, an example application, and the test suite. The main library targets .NET Standard 2.0 and references Microsoft.AspNetCore.Mvc packages. The example project targets .NET Core 3.1 and includes Swashbuckle.AspNetCore 5.2.0. The test project targets .NET Core 3.1 and includes xUnit, Microsoft.AspNetCore.Mvc.Testing, and other testing utilities.
(dependencies) · medium confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 54 → 55 (+0.4)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 60 → 60 (+0.0)
- Architecture 93 → 93 (+0.0)
- Maturity 57 → 57 (+0.0)
- Readiness 48 → 48 (+0.0)
- Security 59 → 66 (+7.1)
- Performance 60 → 60 (+0.0)
Resolved (12)
- High: security finding (details withheld)
- High: security finding (details withheld)
- No ADRs found
- No architecture or design docs describing how endpoints are scoped, registered, or layered relative to the domain layer.
- No exposed public API
- Test runner surfaced no tests
- XML documentation coverage is zero for both package names SimpleEndpoints and SimpleEndpoints.Example (both at 0% of their targets).
- XML-doc coverage: SimpleEndpoints (src/SimpleEndPoints/SimpleEndpoints.csproj)
- XML-doc coverage: SimpleEndpoints.Example (src/SimpleEndpoints.Example/SimpleEndpoints.Example.csproj)
- early-stage repository — too few commits for a meaningful bus factor
- early-stage repository — too little history to judge knowledge freshness
- redundant comment (src/SimpleEndpoints.Tests/Endpoints/Basic/GreetingEndpointTestsShould.cs)
New (15)
- Documentation: no installation or build instructions (README.md)
- Documentation: no usage examples (README.md)
- End-of-life runtime: .NET netcoreapp3.1
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Low XML-doc coverage: SimpleEndpoints (src/SimpleEndPoints/SimpleEndpoints.csproj)
- Low XML-doc coverage: SimpleEndpoints.Example (src/SimpleEndpoints.Example/SimpleEndpoints.Example.csproj)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- Medium: security finding (details withheld)
- No dependency advisory monitoring
- Release publish has no approval gate
- redundant comment (src/SimpleEndpoints.Tests/Endpoints/Basic/GreetingEndpointTestsShould.cs)
- redundant comment (src/SimpleEndpoints.Tests/Endpoints/Basic/GreetingEndpointTestsShould.cs)
API surface
- Unchanged — 1 HTTP endpoints
Architecture
- Unchanged — 1 containers · 0 contexts · 0 edges
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
dasiths/SimpleEndpoints was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit c313b67764c4b2442d8a42b2f128511504d11f4f — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-fa71c66cabd8.