You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Root cause: the repo's custom agents and owned skills were copied from Exceptionless-specific workflows and still referenced invalid skills, paths, secret storage, and handoff semantics for this codebase.
Use this skill when implementing, reviewing, or triaging changes in Geocoding.net. Covers
5
+
provider isolation, shared geocoding abstractions, provider-specific address and exception
6
+
types, xUnit test strategy, API-key-backed test constraints, backward compatibility, and the
7
+
sample web app's role in the repository.
8
+
---
9
+
10
+
# Geocoding.net Library Patterns
11
+
12
+
## When to Use
13
+
14
+
- Any change under `src/`, `test/`, `samples/`, `.claude/`, or repo-owned customization files
15
+
- Bug fixes that may repeat across multiple geocoding providers
16
+
- Code reviews or triage work that needs repo-specific architecture context
17
+
18
+
## Architecture Rules
19
+
20
+
- Keep shared abstractions in `src/Geocoding.Core`
21
+
- Keep provider-specific request/response logic inside that provider's project
22
+
- Do not leak provider-specific types into `Geocoding.Core`
23
+
- Prefer extending an existing provider pattern over inventing a new abstraction
24
+
- Keep public async APIs suffixed with `Async`
25
+
- Keep `CancellationToken` as the final public parameter and pass it through the call chain
26
+
27
+
## Provider Isolation
28
+
29
+
- Each provider owns its own address type, exceptions, DTOs, and request logic
30
+
- If a bug or improvement appears in one provider, compare sibling providers for the same pattern
31
+
- Shared helpers should only move into `Geocoding.Core` when they truly apply across providers
32
+
33
+
## Backward Compatibility
34
+
35
+
- Avoid breaking public interfaces, constructors, or model properties unless the task explicitly requires it
36
+
- Preserve existing provider behavior unless the task is a bug fix with a documented root cause
37
+
- Keep exception behavior intentional and provider-specific
38
+
39
+
## Testing Strategy
40
+
41
+
- Extend existing xUnit coverage before creating new test files when practical
42
+
- Prefer targeted test runs for narrow changes
43
+
- Run the full `Geocoding.Tests` project when shared abstractions, common test bases, or cross-provider behavior changes
44
+
- Remember that some provider tests require local API keys in `test/Geocoding.Tests/settings-override.json` or `GEOCODING_` environment variables; keep the tracked `settings.json` placeholders empty
45
+
- For bug fixes, add a regression test when the affected path is covered by automated tests
46
+
47
+
## Validation Commands
48
+
49
+
```bash
50
+
dotnet build Geocoding.slnx
51
+
dotnet test --project test/Geocoding.Tests/Geocoding.Tests.csproj
0 commit comments