Skip to content

Commit d0fabba

Browse files
Hwa-Seon LECOUEYHwa-Seon LECOUEY
authored andcommitted
docs: add design.md and update CONTEXT.md
Add design.md with Figma source of truth, Bootstrap 5.3.3 DS identity, desktop/mobile coverage status, usage hierarchy, Bootstrap customizations, and accepted overrides section. Remove design-related details from CONTEXT.md (Bootstrap description, style separation) to avoid redundancy with design.md.
1 parent 7cee7b8 commit d0fabba

2 files changed

Lines changed: 78 additions & 1 deletion

File tree

CONTEXT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ variables, or Symfony controllers/forms, you MUST refer to the main repository:
4040
- **CSS Preprocessor:** SCSS.
4141
- **CSS Methodology:** BEM (Block Element Modifier).
4242
- **Styling Framework:** Bootstrap (Heavily customized, separated from
43-
PrestaShop core styles).
43+
PrestaShop core styles). See `design.md` for usage hierarchy and override scope.
4444
- **JavaScript:** Vanilla JavaScript & TypeScript (NO jQuery. jQuery is strictly
4545
forbidden).
4646
- **Build Tool:** Vite (Transitioning from Webpack).

design.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Hummingbird — Design System
2+
3+
## Source of Truth
4+
5+
The Figma file is the visual reference for all Hummingbird components and pages.
6+
It is public and open to the community, agencies, and module developers without
7+
login.
8+
9+
**Figma:** [HUMMINGBIRD — new](https://www.figma.com/design/ZlLqiOjTVXVlVu49sSsD8P/HUMMINGBIRD--new-?node-id=0-1)
10+
Access: public, read-only.
11+
12+
The file is organized as follows:
13+
14+
- **One Figma page per storefront page** — each contains a `DESKTOP` frame and
15+
a `MOBILE` frame side by side.
16+
- **Components** — component library (atoms, molecules, organisms).
17+
- **Icons** — icon set.
18+
19+
Storefront pages covered: Home, Product, Category, Cart, Checkout, Sign in,
20+
Contact, Stores, My account, 404.
21+
22+
### Desktop vs. Mobile coverage
23+
24+
| Version | Status | Notes |
25+
|---------|--------|-------|
26+
| Desktop ✅ | Complete | All storefront pages designed. Reference for implementation. |
27+
| Mobile 🏗️ | In progress | Frames exist for all pages but coverage is incomplete. Do not treat mobile frames as final — verify before implementing. |
28+
29+
The Figma is the reference for new component design and for verifying visual
30+
regressions on desktop. For mobile, align with the desktop Figma intent and flag
31+
gaps rather than improvising.
32+
33+
## Design System
34+
35+
**Framework:** Bootstrap 5.3.3
36+
**Package:** `bootstrap` (npm)
37+
**Override layer:** `src/scss/bootstrap/overrides/` — Bootstrap variable overrides (loaded before Bootstrap core)
38+
39+
Hummingbird does not ship a standalone design system. Bootstrap 5.3.3 is the
40+
design system. The theme's role is to customize it as little as possible while
41+
meeting PrestaShop storefront requirements. Bootstrap styles are fully isolated
42+
from PrestaShop Core styles.
43+
44+
**Maturity:** Production — this is the shipped default theme for PrestaShop 9.1+.
45+
Visual regressions and accessibility regressions are treated as bugs.
46+
47+
## Usage Hierarchy
48+
49+
Apply this order when making visual decisions:
50+
51+
1. **Bootstrap native** — use Bootstrap components and utilities as-is when they
52+
cover the need.
53+
2. **Bootstrap variable override** — adjust via `src/scss/abstract/variables/`
54+
(SCSS variable overrides loaded before Bootstrap).
55+
3. **Custom component** — write new SCSS in `src/scss/core/` following BEM,
56+
only when Bootstrap cannot cover the need.
57+
58+
For file placement rules, see `CONTEXT.md` § SCSS Architecture.
59+
60+
## Bootstrap customizations
61+
62+
Key divergences from Bootstrap 5.3.3 defaults, defined in
63+
`src/scss/bootstrap/overrides/variables/_variables.scss`:
64+
65+
- **Colors:** `$primary: #0b69f6`, `$danger: #ff4657`
66+
- **Typography:** `Inter` as base font family; heading scale recalculated from body font size
67+
- **Breakpoints:** two extra breakpoints below Bootstrap's `sm``xxs: 0` and `xs: 360px`
68+
- **Links:** `$link-decoration: none` by default
69+
70+
## Accepted overrides
71+
72+
No overrides have been accepted yet. Any observed deviation from the Bootstrap
73+
customizations above (hardcoded hex values, inline styles, non-BEM class names)
74+
is migration debt — not a replicable pattern.
75+
76+
✏️ To accept a deviation, document it here with: component or context, reason,
77+
scope. Owner: Designer or Design Lead.

0 commit comments

Comments
 (0)