Skip to content

Commit d325176

Browse files
babayomiclaude
andcommitted
Initial commit: Trauma-Informed Interface Design System
- Complete design system with atomic design methodology - Trauma-informed button system with Alpine.js interactivity - Emergency exit functionality and safe mode features - GitHub Pages deployment configuration - Comprehensive component library and documentation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
0 parents  commit d325176

134 files changed

Lines changed: 75670 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/settings.local.json

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"permissions": {
3+
"allow": [
4+
"Bash(grep:*)",
5+
"Bash(find:*)",
6+
"Bash(/Users/abayomi/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/vendor/ripgrep/arm64-darwin/rg -n \"font-playfair font-bold.*text-grey-\" /Users/abayomi/Documents/uiui/src --type html)",
7+
"Bash(/Users/abayomi/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/vendor/ripgrep/arm64-darwin/rg -n -A 2 -B 2 \"h[2-4].*text-azurite-blue-900\" /Users/abayomi/Documents/uiui/src --type html)",
8+
"Bash(/Users/abayomi/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/vendor/ripgrep/arm64-darwin/rg -n -C 3 \"text-h[2-4].*text-azurite-blue-900\" /Users/abayomi/Documents/uiui/src --type html)",
9+
"Bash(rg:*)",
10+
"Bash(/Users/abayomi/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/vendor/ripgrep/arm64-darwin/rg -n \"font-playfair font-bold\" /Users/abayomi/Documents/uiui/src --type html)",
11+
"Bash(/Users/abayomi/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/vendor/ripgrep/arm64-darwin/rg -n \"<h[1-4].*font-playfair\" /Users/abayomi/Documents/uiui/src --type html)",
12+
"Bash(/Users/abayomi/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/vendor/ripgrep/arm64-darwin/rg -n \"class=\"\".*font-playfair.*font-bold\" /Users/abayomi/Documents/uiui/src --type html)",
13+
"Bash(/Users/abayomi/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/vendor/ripgrep/arm64-darwin/rg -n \"text-h[1-4]\" /Users/abayomi/Documents/uiui/src --type html)",
14+
"Bash(/Users/abayomi/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/vendor/ripgrep/arm64-darwin/rg -n \"font-playfair.*text-black\\|font-playfair.*text-gray\" /Users/abayomi/Documents/uiui/src --type html)",
15+
"Bash(/Users/abayomi/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/vendor/ripgrep/arm64-darwin/rg -n \"text-black\\|text-gray\" /Users/abayomi/Documents/uiui/src --type html)",
16+
"Bash(npm run dev:*)",
17+
"Bash(/Users/abayomi/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/vendor/ripgrep/arm64-darwin/rg \"bg-azurite-blue text-selenite-white-50.*text-base sm:text-sm\\\"\" src/components/molecules/alert.html)",
18+
"Bash(npm run build:*)",
19+
"Bash(npm run serve:*)",
20+
"Bash(mkdir:*)",
21+
"Bash(timeout 5s npm run serve)",
22+
"Bash(true)",
23+
"Bash(ls:*)",
24+
"Bash(git init:*)",
25+
"Bash(git remote add:*)",
26+
"Bash(git add:*)"
27+
],
28+
"deny": []
29+
}
30+
}

.github/workflows/deploy.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: "pages"
15+
cancel-in-progress: false
16+
17+
jobs:
18+
deploy:
19+
environment:
20+
name: github-pages
21+
url: ${{ steps.deployment.outputs.page_url }}
22+
runs-on: ubuntu-latest
23+
steps:
24+
- name: Checkout
25+
uses: actions/checkout@v4
26+
27+
- name: Setup Node.js
28+
uses: actions/setup-node@v4
29+
with:
30+
node-version: '18'
31+
cache: 'npm'
32+
33+
- name: Install dependencies
34+
run: npm ci
35+
36+
- name: Build CSS
37+
run: npm run build
38+
39+
- name: Setup Pages
40+
uses: actions/configure-pages@v4
41+
42+
- name: Upload artifact
43+
uses: actions/upload-pages-artifact@v3
44+
with:
45+
path: './src'
46+
47+
- name: Deploy to GitHub Pages
48+
id: deployment
49+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# Dependencies
2+
node_modules/
3+
package-lock.json
4+
5+
# Build outputs (CSS is tracked since it's needed for deployment)
6+
# src/output.css is included for deployment
7+
8+
# Environment files
9+
.env
10+
.env.local
11+
.env.development.local
12+
.env.test.local
13+
.env.production.local
14+
15+
# Editor files
16+
.vscode/
17+
.idea/
18+
*.swp
19+
*.swo
20+
*~
21+
22+
# OS generated files
23+
.DS_Store
24+
.DS_Store?
25+
._*
26+
.Spotlight-V100
27+
.Trashes
28+
ehthumbs.db
29+
Thumbs.db
30+
31+
# Logs
32+
npm-debug.log*
33+
yarn-debug.log*
34+
yarn-error.log*
35+
lerna-debug.log*
36+
37+
# Runtime data
38+
pids
39+
*.pid
40+
*.seed
41+
*.pid.lock
42+
43+
# Coverage directory used by tools like istanbul
44+
coverage/
45+
*.lcov
46+
47+
# Dependency directories
48+
jspm_packages/
49+
50+
# Optional npm cache directory
51+
.npm
52+
53+
# Optional REPL history
54+
.node_repl_history
55+
56+
# Output of 'npm pack'
57+
*.tgz
58+
59+
# Yarn Integrity file
60+
.yarn-integrity
61+
62+
# dotenv environment variables file
63+
.env.test
64+
65+
# parcel-bundler cache (https://parceljs.org/)
66+
.cache
67+
.parcel-cache
68+
69+
# next.js build output
70+
.next
71+
72+
# nuxt.js build output
73+
.nuxt
74+
75+
# vuepress build output
76+
.vuepress/dist
77+
78+
# Serverless directories
79+
.serverless/
80+
81+
# FuseBox cache
82+
.fusebox/
83+
84+
# DynamoDB Local files
85+
.dynamodb/
86+
87+
# TernJS port file
88+
.tern-port

CLAUDE.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## Development Commands
6+
7+
### Build and Development
8+
- **`npm run dev`** - Start development server with live CSS rebuild
9+
- Runs Tailwind CSS in watch mode
10+
- Starts live-server on port 3000
11+
- Opens /src/index.html automatically
12+
13+
- **`npm run build`** - Production build
14+
- Builds CSS from src/input.css to src/output.css
15+
- Uses Tailwind CSS to process utility classes
16+
17+
- **`npm run serve`** - Development server only
18+
- Runs live-server without CSS rebuild
19+
- Useful when focusing on HTML changes
20+
21+
### Testing and Linting
22+
- No test framework is currently configured
23+
- No linting tools are set up
24+
- Consider implementing these for code quality
25+
26+
## Architecture Overview
27+
28+
### Project Structure
29+
This is a **trauma-informed UI component library** built using:
30+
- **Atomic Design methodology** - Components organized as atoms, molecules, organisms, pages, and templates
31+
- **Static HTML/CSS** - No JavaScript framework, pure HTML with Tailwind CSS
32+
- **Tailwind CSS** - Utility-first CSS with extensive customization for trauma-informed design
33+
34+
### Component Organization
35+
```
36+
src/components/
37+
├── atoms/ # Basic building blocks (buttons, typography, form elements)
38+
├── molecules/ # Simple combinations of atoms (planned)
39+
├── organisms/ # Complex UI components (planned)
40+
├── pages/ # Page-specific compositions (planned)
41+
└── templates/ # Page layout structures
42+
```
43+
44+
### Design System
45+
46+
#### Color Palette
47+
The project uses a mineral-inspired color system:
48+
- **Azurite Blue** (#284251) - Primary headers, navigation
49+
- **Chrysocolla Green** (#264c52) - CTAs, success states
50+
- **Sunstone Orange** (#ce7755) - Warnings, special actions
51+
- **Rhodochrosite Rose** (#d4a18c) - Emergency exits, emphasis
52+
- **Selenite White** (#f6f0e9) - Primary background
53+
54+
#### Typography
55+
- **Playfair Display Black** - Headlines (serif)
56+
- **Montserrat** - Body text and UI elements (sans-serif)
57+
- Responsive type scale with mobile, tablet, and desktop sizes
58+
59+
#### Spacing System
60+
Based on 8px grid: xs (4px), sm (8px), md (16px), lg (24px), xl (32px), 2xl (48px)
61+
62+
### Trauma-Informed Design Principles
63+
64+
1. **Safety & Predictability** - Consistent patterns, gentle transitions (300ms), calming colors
65+
2. **User Control** - Content warnings, format alternatives, clear exit options
66+
3. **Clear Communication** - Supportive microcopy, non-pressuring language
67+
4. **Emotional Support** - Break reminders, grounding exercises (planned)
68+
5. **Spaciousness** - Ample white space, rounded corners, visual breathing room
69+
70+
### Key Conventions
71+
72+
- **Mobile-first responsive design** - All components scale from 320px to desktop
73+
- **Semantic HTML** with proper ARIA labels for accessibility
74+
- **BEM-like class naming** using Tailwind utilities
75+
- **Consistent hover states** with 300ms transitions
76+
- **Touch-friendly targets** (minimum 44px on mobile)
77+
78+
### Current Implementation Status
79+
- **Atoms**: Actively developed (buttons, typography, colors, forms, status indicators)
80+
- **Molecules**: Structure exists, components marked "Coming Soon"
81+
- **Organisms**: Structure exists, components marked "Coming Soon"
82+
- **Templates**: Basic page structure template available
83+
84+
### Icon System
85+
SVG icons organized by category in `/src/assets/icons/`:
86+
- Accessibility, Content & Learning, Emotional Support, Forms, Navigation, Safety & Support, etc.
87+
- Designed to be scalable (16px-64px) and trauma-appropriate
88+
89+
### Important Notes
90+
- No external dependencies beyond Tailwind CSS
91+
- All components are static HTML - no JavaScript interactivity yet
92+
- Focus is on establishing design patterns and visual language
93+
- Emergency Exit button is a core trauma-informed feature present on all pages

0 commit comments

Comments
 (0)