-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Open
Description
CHANGE TYPE
Complex - breaking change
PROBLEM
One of the strengths of OpenSpec is its simplicity.
Inevitably however varying ideas and requirements can cause "feature sprawl" in the core project, making the code base and UX more complex.
PROPOSAL
Implement a "plugin" system, and keep the core of OpenSpec pure and limited to the four basic commands (init, propose, apply, archive).
Core functionality would ship with the project as "default plugins" so the architecture is consistent. The community could develop or propose new features that could be added or removed from a plugins/ folder, making OpenSpec into a platform/ecosystem, rather than a monolith.
BENEFITS
- OpenSpec itself can stay pure and lightweight, avoiding the bloat some other similar tools are currently seeing.
- Users can add or remove plugin functionality as necessary for each project
- New features can be implemented as optional add-ons, rather than making changes to the core
CHALLENGES
- Could involve a significant rework of the current code
- May involve additional complexity that is hard to quantify at this point
mdlmarkham
Metadata
Metadata
Assignees
Labels
No labels