1
0
Fork 0
No description
  • TypeScript 43.3%
  • HTML 31.8%
  • CSS 14%
  • JavaScript 7.1%
  • Nunjucks 3.8%
Find a file
2026-04-22 16:09:05 +01:00
.github/workflows update CI 2026-04-22 16:06:19 +01:00
.nova improvements & upgrades 2026-04-21 12:13:04 +01:00
research add research notes and fix typos 2022-11-18 16:50:33 +00:00
scripts improvements & upgrades 2026-04-21 12:13:04 +01:00
source improvements & upgrades 2026-04-21 12:13:04 +01:00
.editorconfig 🎉 first commit 2022-02-23 23:20:13 +00:00
.gitignore fix build and remove dist from git 2023-01-04 14:50:32 +00:00
.node-version update node version 2026-04-22 16:09:05 +01:00
.prettierignore restructure and setting up doc pages 2023-01-04 14:36:52 +00:00
CHANGELOG.md modernising 2026-03-09 11:23:30 +00:00
eleventy.config.js improvements & upgrades 2026-04-21 12:13:04 +01:00
package-lock.json improvements & upgrades 2026-04-21 12:13:04 +01:00
package.json update scripts & ci 2026-04-22 15:57:19 +01:00
README.md Update README.md 2024-12-19 11:41:06 +00:00
tsconfig.json improvements & upgrades 2026-04-21 12:13:04 +01:00

⚗️ Alembic

A Design System for Open Lab research projects.

Go to the docs →

Release process

  1. Run the build
  2. Update API docs if needed
  3. Run npm version minor|major|patch
  4. Run npm publish

Uses

This library is used by several Open Lab projects:

Design

Goals

  1. Provide a step up (design-wise) for developers
  2. Reduce duplication in effort/code/work
  3. Improve collaboration on projects and focus evolution in the same direction

What

  • A library of components and patterns
  • A documentation site to describe the design system

To explore

  • More accessibility concerns
  • Document the reason behind decisions / solutions
  • Think about adaptability, evolution and collaboration

Coding conventions

TODO: find a better place for these

css variables

  • "axioms" are single words like --measure
  • everything else is type-prefixed like --color-background or --border-thin

imports

module.js is the main entrypoint, sub-modules are self-named files in their own folder e.g. lib/lib.js or layouts/layouts.js.

misc

  • group source by the module, js + css alongside eachother is fine. It makes it easy to work on a module.
  • avoid JavaScript's default exports
  • sub-modules should explicitly export things, avoid export * from '...'-type code
  • pure functions where possible
  • exported code prefixed with _ (an underscore) is internal, should not be used and may change between major releases

This project was set up by puggle