feat: Minimalist Brutal recipes gallery, density modes, editorial layout, and signature motif#4
Merged
Conversation
…nature motif - Add fg-subtle and hairline-strong tokens to color.json + color-light.json - Add density modes (default + dense) via CSS variables in base.css - Add SectionHeading component with 2px left-rule signature motif - Add Recipes nav section with 8 recipe pages + index grid - Add Layout foundations page (reading width, rhythm, sectioning, density) - Update Shell to enforce reading width on long-form pages - Add quickstart-vite.md documentation - Update App.tsx routing for recipe pages Agent-Logs-Url: https://github.com/thiagoxikota/touch-grass/sessions/9e145c34-e34e-4127-8eac-019f916339cf Co-authored-by: thiagoxikota <62438332+thiagoxikota@users.noreply.github.com>
…dcoded color Agent-Logs-Url: https://github.com/thiagoxikota/touch-grass/sessions/9e145c34-e34e-4127-8eac-019f916339cf Co-authored-by: thiagoxikota <62438332+thiagoxikota@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add Recipes section to docs-site with example pages
feat: Minimalist Brutal recipes gallery, density modes, editorial layout, and signature motif
Apr 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the "viral/pleasing" layer to Touch Grass DS — recipes gallery, density modes, editorial layout contract, and a consistent signature motif — without breaking core constraints (radius 0, no motion, tokens-only, 48px tap targets, mono discipline).
Tokens
color.subtleandcolor.hairline-strongto both dark and light themessubtleis metadata/labels only (never body copy);hairline-strongis for emphasis borders and section rulesDensity modes
Two modes via CSS custom properties on
:root(default) and.tg-density-dense:Signature motif —
SectionHeadingReusable 2px
hairline-strongleft rule for section headings, used across all recipes:Recipes gallery
/recipesindex with poster-grid of 8 recipesLayout foundations page
/foundations/layoutcovering max reading width (60–72ch), vertical rhythm (3 canonical stack gaps: tight 8px / standard 16px / section 32px), sectioning rules viaDivider+ spacing tokens, density mode referenceShellupdated to enforcemax-w-[66ch]on prose elementsQuickstart
docs/quickstart-vite.md— Vite + React + Touch Grass in 5 stepsOriginal prompt
Create a follow-up PR in
thiagoxikota/touch-grass(basemain) focused on making Touch Grass "Minimalist Brutal" and more viral/pleasing, without breaking core constraints (radius 0, no motion, tokens-only, 48px tap target, mono discipline).Choices (already decided)
@touch-grass-ds/reactcomponents).Deliverables
Docs-site: Recipes / Gallery section
packages/docs-site/src/pages/recipes/Index.tsxshowing a grid of recipe cards (poster-like previews).packages/docs-site/src/pages/recipes/(e.g.PosterHeroPage,SettingsPanelPage,FormBlockPage,StatsDashboardPage,EmptyStatePage,InterruptFlowPage,DenseTablePage,FocusTimerScreenPage).Foundations: Layout / Editorial contract
Density modes (two modes only)
defaultanddensedensity modes, tokens-only.tg-density-dense) or CSS variables on a container.Minimal Brutal signature motif
@touch-grass-ds/react(or docs-site component if it’s docs-only) and use it across recipes.Vite starter (optional but recommended if small)
docs/quickstart-vite.mdthat shows creating a Vite React app and installing@touch-grass-ds/tokens+@touch-grass-ds/react, importing styles, and rendering a sample page.Constraints
fg-mutedandfg-subtle).pnpm -r testand builds pass.Notes
If recipe pages need screenshots, generate using existing patterns or static compositions; do not add new heavy tooling. Prefer using existing primitives/patterns (Button/Input/Card/Stat/Timer/Field/Toast/etc.).
The following is the prior conversation context from the user's chat exploration (may be truncated):
User: both, maintain restrictions that are core to the athenticitiy of the ds
Assistant: Got it: make it viral/pleasing while keeping the core “Touch Grass” authenticity rules. I can’t change the already-started agent run’s instructions directly from here, but we can still get exactly what you want by tightening the definition of “core” and then applying the remaining changes as follow-ups in the same PR (if still open) or a second PR.
Define the “core restrictions” (confirm/adjust)
I’m going to treat these as non-negotiable unless you say otherwise:
Reply with any edits (e.g. “allow motion for only dialogs” etc.). If you don’t reply, I’ll proceed with the above as the “authenticity contract.”
How to make it “viral + pleasing” without breaking the rules
These are the levers that preserve the brutalism but improve desirability:
bg,bg-alt) and hairline rules so density feels intentional, not harsh.What I’ll implement (as concrete repo changes)
This pull request was created from Copilot chat.