chore: Consolidate micro-projects in src/
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Refactor
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- csharp
- Domain
- build-system, tooling
Research direction
Start by reviewing the three source projects, their csproj files, consumer references, and docs-builder.slnx. Apply the requested source moves and project/reference cleanup, including the IService constraint removal and the prior tokens/ deletion from #3572. Run dotnet build; done means the micro-projects are gone and the solution still builds.
Written by the indexing model from the issue text.
Description
What
Three projects under src/ each contain 1–2 source files and exist only to hold a single class or interface. Collapsing them reduces solution sprawl (currently 44 projects) without any logical boundary benefit.
Projects to collapse
src/Elastic.Documentation.Svg → merge into Elastic.Documentation
Contains one 296-line static class (EuiSvgIcons). Has its own csproj with two consumers (Elastic.Markdown, Elastic.Codex). Move the file into Elastic.Documentation, update project references.
Note: #3572 deletes the unused tokens/ icon set (56 files + ~90 lines of plumbing) from this project first — do that before the merge to move less.
src/services/Elastic.Documentation.Services → merge into Elastic.Documentation or tooling
Single file: an empty marker interface IService + ServiceInvoker. Referenced by ~8 service projects. Merge into Elastic.Documentation (or whichever shared project the services already depend on).
Note: delete the IService marker and its where TService : IService constraints outright instead of moving it — the invoke delegate is passed explicitly, so the marker grants no capability.
src/services/Elastic.Documentation.Integrations → merge into Elastic.Documentation.Deploying or .Assembler
Two files: S3IncrementalUploader and S3EtagCalculator. Consumed only by sibling service projects. Collapse into the deploying/assembler project that already depends on it.
How
For each: move source files, delete the .csproj, update PackageReference → ProjectReference in consumers, remove from docs-builder.slnx, run dotnet build.
Part of the broader ponytail over-engineering audit tracked in #3574.
- Dominant language
- C#
- Stars
- 25
- Forks
- 44
- Avg merge
- 22h 15m
- Merged PRs (30d)
- 162
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from elastic/docs-builder
-
chore needs triage tech-debt
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
elastic/docs-builder#3567 · 1 comment ·
-
chore needs triage tech-debt
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
elastic/docs-builder#3566 · 1 comment ·
-
ai-triaged bug needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
elastic/docs-builder#3045 · 4 comments ·
-
ai-triaged ai:eng-question ai:product-question bug needs triage stale
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
elastic/docs-builder#2397 · 2 comments ·
-
ai-triaged ai:quick-fix ai:writer-question documentation needs triage stale
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
elastic/docs-builder#2006 · 3 comments ·
All issues in elastic/docs-builder
Similar issues
-
type/automation type/tech-debt
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
t/bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
ci-failure-cause test-failure
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
area:auth FE mvp P3
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
klasolsson81/jobbliggaren#1788 ·