Skip to content
This repository was archived by the owner on May 1, 2020. It is now read-only.

Discussion: Add ability to reference starterkits instead of importing them #17

@bmuenzenmeyer

Description

@bmuenzenmeyer

As a design system creator, I want other product teams to have the ability to inherit base patterns and assets from an upstream, unchangeable starterkit, so that they may build derivative experiences off of a single source of truth managed by me.


As described in these comments, starterkits as we currently know them are really just copy paste helpers for the source/* directory patterns and assets. This is useful for, say, an agency that wants all their client projects to start from a base, and then send that instance of Pattern Lab to the client when done. But it falls down a bit when Pattern Lab is used as the foundation of a design system, where a team may want to design and build many products from a shared baseline experience.

@geoffp at Target can elaborate on any use cases I missed.

What is proposed here would be a core or edition change that would allow starterkits to be referenced instead of wholesale imported, if desired. The current behavior should still be supported too. Referencing starterkits before processing anything in source/ would load the base patterns first, allow them to be referenced as partials by source/ patterns, but keep them out of version control, since they'd be in some vendor / ignored space instead of co-mingled with source/. Patterns are probably simpler to do this for than the other assets, which may require edition changes.

The timeline for this feature is not critical for 2.0.0 release, but would be a nice addition to Pattern Lab capabilities.

Tagging core and spec-enhancement because this starterkit reference enhancement is suggested for all platforms.

Voting is postponed until further notice.

/cc @pattern-lab/voting-members

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions