RFC: Documentation Website with Docusaurus #374
javierbrea
started this conversation in
RFCs
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Status: 🚧 Request for Comments - Open for community feedback
Summary
This RFC proposes creating a dedicated documentation website for the
@boundariesecosystem using Docusaurus. The website will provide a centralized, well-organized, and versioned documentation hub for all packages under the@boundariesscope, including the ESLint plugin, core libraries, and future tools.Key Changes
@boundariespackages and toolsMotivation
Current Limitations
The current documentation approach has several challenges as the project grows:
1. README File Size and Maintainability
The main repository README is becoming increasingly extensive, making it:
2. Lack of Documentation Versioning
Currently, there's no easy way for users to:
3. Limited Organization and Discovery
With a single README file, it's difficult to:
4. Ecosystem Growth Challenges
With the planned expansion of the
@boundariesecosystem (mentioned in RFC for Plugin Rename):@boundaries/eslint-plugin(ESLint plugin - runs rules)@boundaries/elements(Core library - element logic)@boundaries/playground(Future: interactive configuration tool)@boundaries/graph(Future: dependency graph visualization)Each tool will need its own documentation, but they should all be discoverable from a single unified location. A monolithic README cannot effectively serve this need.
5. Recipe and Pattern Documentation
The new features proposed in recent RFCs (multi-dimensional classification, object-based selectors) introduce powerful capabilities that benefit from:
These are difficult to present effectively in a single README file.
Why a Dedicated Documentation Website?
1. Better User Experience
A documentation website provides:
2. Versioning Support
Docusaurus provides built-in versioning that enables:
3. Ecosystem Integration
A centralized documentation site can:
@boundariespackages in one place4. Enhanced Content Types
A website enables richer content:
Why Docusaurus?
Docusaurus is an excellent choice for this project because:
Detailed Design
1. Documentation Structure
The documentation will be organized into clear sections:
Landing Page
@boundariesecosystemGetting Started
Guides
Recipes
Practical, copy-paste examples for common architectural patterns:
API Reference
Ecosystem
Migration Guides
3. Versioning Strategy
The documentation will follow this versioning approach:
Current Version (e.g., 5.0)
https://boundaries-docs.io/docs/Next Version (Unreleased)
https://boundaries-docs.io/docs/next/Previous Versions (e.g., 4.0, 3.0)
https://boundaries-docs.io/docs/4.0/, etc.Version Dropdown
4. Version Release Workflow
When releasing a new version of the plugin:
Before Release:
During Release:
npm run docusaurus docs:version X.Yversioned_docs/version-X.Y/versions.jsonto include the new versionAfter Release:
Migration Plan
Phase 1: Initial Setup (v6.0-beta.1)
Phase 2: Publish v6.0
Maintenance and Updates
Documentation Updates
Version Management
Community Contributions
Benefits
For Users
For Maintainers
For the Project
Thank you for reviewing this proposal! Your feedback is crucial for creating a documentation experience that serves the community's needs. Please share your thoughts on the structure, content organization, and any concerns you might have.
Beta Was this translation helpful? Give feedback.
All reactions