Skip to content

Ship frameworks as plugins, including schemas #88

@mindsocket

Description

@mindsocket

eg wardley mapping plugin could ship render commands etc, but could also ship schemas (incl partials) that define framework specific constructs. The main benefit is clear separation of concerns.

Such a plugin could define its schema in code and use json-schema-to-ts (similar to metadata-contract) to export the schema while also being able to use it in the plugin - eg for an onlinewardleymaps.com OWM renderer it could draw on constants for types to get anchors, components and follow the right relationships etc. (Second thoughts: this might not be worth it since the renderer gets processed content somewhat removed from the original schema - the type safety benefit is tiny.

A big stretch idea could be that plugins can provide installable skills too (specific to a framework).

A potential drawback is reduced composability vs embracing a principle of centralised contributions and bundling of opinionated schemas that know they can reference each other. They're not mutually exclusive though, bundled plugins are a thing already.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions