Compare commits

..

33 Commits

Author SHA1 Message Date
tony
2e1bb2e55e Major update to chorus.services platform
- Extensive updates to system configuration and deployment
- Enhanced documentation and architecture improvements
- Updated dependencies and build configurations
- Improved service integrations and workflows

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 22:01:07 +10:00
tony
074a82bfb6 refactor(brand-style-guide): unify Do/Don’t blocks with shared components and apply across pages (Logo, Copywriting, Typography, Diagrams incl. Field Journal foundation, Iconography, Usage, Art Direction, Colors, Motion) 2025-09-03 11:19:17 +10:00
tony
284942fb6c Add comprehensive brand guidelines to brand guide site
- Create new brand guideline pages:
  • Copywriting guidelines with voice, tone by channel, and quick checklist
  • Diagram style guide with field guide-inspired approach
  • Press & media kit with narrative guidelines and suggested language

- Enhance existing pages with Visual Identity integration:
  • Visual Identity: Add three-pillar philosophy (Bauhaus typography, field journal illustration, infrared photography)
  • Typography: Merge Bauhaus typography guidelines with cross-references
  • Art Direction: Add infrared photography foundation with visual identity connection
  • Diagrams: Add field journal illustration foundation

- Update navigation with new sections in appropriate categories
- Add cross-links between related sections throughout the site
- Follow existing design patterns and icon usage

All pages now connect to the cohesive visual identity system while providing detailed, actionable guidelines.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-02 13:28:31 +10:00
tony
9e1e1ccd6d Deploy logo scaling fixes to production
- Updated teaser website image to v1.0.1 with logo scaling fixes
- Incremented package.json version to 1.0.1
- Deployed to chorus-website stack on https://chorus.services
- Both replicas now running with improved responsive logo scaling

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-27 20:37:53 +10:00
tony
1ec3b459bc Fix logo scaling and positioning across screen sizes
- Enhanced responsive breakpoints for 5 screen size categories
- Fixed logo centering with flexbox at multiple container levels
- Added proper CSS centering for Three.js canvas element
- Improved logo container positioning and aspect ratio handling
- Logo now scales from 4rem (mobile) to 16rem (desktop) appropriately

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-27 20:34:54 +10:00
tony
4ed167e734 Update branding assets and deployment configurations
- Enhanced moebius ring logo design in Blender
- Updated Docker Compose for website-only deployment with improved config
- Enhanced teaser layout with updated branding integration
- Added installation and setup documentation
- Consolidated planning and reports documentation
- Updated gitignore to exclude Next.js build artifacts and archives

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-27 07:45:08 +10:00
tony
8162496c11 fix: Update address in privacy policy footer
- Changed address from "Lucas" to "Ballarat, Victoria 3350, Australia"
- Ensures consistency with main site footer address
- Privacy policy now shows correct business location

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-26 15:44:38 +10:00
tony
4aef079def feat: Update address and reduce logo size
- Changed footer address from "Lucas" to "Ballarat, Victoria 3350, Australia"
- Reduced main logo size by removing large breakpoint (lg:w-[512px])
- Logo now maxes out at medium size (384px) for better proportions
- Maintains mobile (128px) and tablet (384px) responsive sizing

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-26 15:37:45 +10:00
tony
843f6bc252 feat: Add complete favicon package and update copyright
- Added favicon.ico, favicon-16x16.png, favicon-32x32.png (already present)
- Added android-chrome-192x192.png and android-chrome-512x512.png for Android
- Added apple-touch-icon.png for iOS devices
- Added site.webmanifest for PWA support
- Updated footer copyright from "Deep Black Cloud" to "Anthony Rawlins"

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-26 14:32:52 +10:00
tony
68cfaf7c63 feat: Update CHORUS mission statement with enhanced technical detail
- Added more comprehensive explanation of CHORUS context management system
- Explains differentiation from RAG and Git through role-based awareness
- Highlights temporal shift management and business intelligence capabilities
- Added new CSS utility class for left-aligned text with improved line height
- Enhanced copy emphasizes auditability and strategic decision context

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-26 14:28:39 +10:00
tony
c8fb816775 feat: Add CHORUS teaser website with mobile-responsive design
- Created complete Next.js 15 teaser website with CHORUS brand styling
- Implemented mobile-responsive 3D logo (128px mobile, 512px desktop)
- Added proper Exo font loading via Next.js Google Fonts for iOS/Chrome compatibility
- Built comprehensive early access form with GDPR compliance and rate limiting
- Integrated PostgreSQL database with complete schema for lead capture
- Added scroll indicators that auto-hide when scrolling begins
- Optimized mobile modal forms with proper scrolling and submit button access
- Deployed via Docker Swarm with Traefik SSL termination at chorus.services
- Includes database migrations, consent tracking, and email notifications

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-26 13:57:30 +10:00
tony
630d1c26ad feat: Implement ScrollReveal animations and sync navigation icons
- Add ScrollReveal component with Intersection Observer API
- Create useIntersectionObserver hook for scroll-based animations
- Implement progressive scroll animations on motion page (200ms-600ms delays)
- Add CSS animation system with prefers-reduced-motion accessibility support
- Update navigation icons for consistency between sidebar and primary nav
- Use Interface/Trending_Up for Motion System and Environment/Puzzle for Components
- Add GPU-accelerated transforms with will-change optimization

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-26 08:39:48 +10:00
tony
9cf92f9fcf feat: Update home page with improved layout and structure
- Enhanced Brand Overview section with consistent layout structure
- Updated Mission, Promise, and Position content blocks with better spacing
- Improved Audience section with properly structured target customer cards
- Added consistent styling patterns matching rest of site
- Maintained comprehensive content for Technical Decision Makers, AI Research Leads, and Business Stakeholders

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-25 22:18:57 +10:00
tony
e9d6e8465a feat: Restore and consolidate brand style guide site structure
Major updates and improvements across the site:

- Restored Motion page with comprehensive animation documentation including actual timing scales (200ms, 300ms, 500ms), easing functions, and real implementation examples
- Updated page layouts across all sections with consistent structure and improved visual hierarchy
- Enhanced Typography page with complete font families (Inter Tight, Exo, Inconsolata), proper scaling system, and do/don't examples
- Refined Logo page with improved layout, proper logo orientations, and enhanced download section
- Updated all section pages (Culture, Communications, Components, etc.) with consistent styling and layout patterns
- Added logo ring asset for 2D static version display
- Improved CSS with logo group styling and comprehensive accessibility color adaptations
- Enhanced Sidebar component with better logo positioning and navigation structure

Site now has consistent visual treatment across all pages while maintaining the sophisticated CHORUS brand aesthetic.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-25 22:17:00 +10:00
tony
a344934db4 Claude stuffs up. Time to restore mucked up files. 2025-08-25 20:57:04 +10:00
tony
25107c2c8a feat: Update Motion page to reflect actual implementation
- Document real animation system currently used across the site
- Add comprehensive timing scale (200ms, 300ms, 500ms) with actual usage
- Include detailed easing functions (ease-out, ease-in-out, cubic-bezier)
- Document interactive element animations:
  • Navigation links with lateral translation and color transitions
  • Icon scaling and chevron rotation effects
  • Dropdown slide animations with opacity
- Add 3D logo animation specifications:
  • Multi-axis continuous rotation with requestAnimationFrame
  • Material color transitions for accessibility themes
- Include CSS implementation examples with real code snippets
- Update motion principles to reflect performance and accessibility focus
- Replace theoretical content with actual brand implementation details

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-25 19:48:20 +10:00
tony
9ca343bd01 feat: Implement comprehensive system-wide accessibility color adaptations
- Add complete CHORUS accessibility theme system with CSS custom properties
- Implement functional visual aid buttons that apply themes globally
- Create comprehensive Tailwind utility overrides for all vision types:
  • Protanopia: Ocean/Sand system for red-blind clarity
  • Deuteranopia: Purple/Blue enhanced contrast for green-blind
  • Tritanopia: Red/Warm earth tones for blue-blind users
  • Achromatopsia: High-contrast grayscale system
- Integrate 3D logo material changes with accessibility themes
- Add cross-component theme communication via custom events
- Implement system-wide color adaptation covering backgrounds, text, borders
- Add theme selection indicators with proper contrast rings
- Support both light/dark mode variations for all accessibility themes
- Maintain CHORUS brand integrity while maximizing visual clarity

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-25 19:42:46 +10:00
tony
dd63993570 feat: Implement responsive navigation system with mobile hamburger menu
- Add mobile-first navigation with hamburger menu and top-right controls
- Implement accordion-style mobile menu matching sidebar structure
- Add theme toggle and accessibility buttons to mobile header
- Update responsive breakpoints to lg: (1024px) for better tablet/desktop split
- Hide sidebar on mobile, show primary nav on desktop
- Update content padding to use proportional CHORUS spacing system
- Fix logo centering in 3D canvas with proper origin calculations
- Lighten header and bottom dock transparency to 80%
- Add route-aware navigation state management
- Include visual aid modal accessible from mobile menu

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-25 10:28:25 +10:00
tony
d83dbdce46 feat: Implement proper Three.js logo system with custom environment mapping
- Replace CDN-based Three.js with npm packages for reliable loading
- Add DRACO loader support for compressed GLB files
- Implement custom horizon gradient environment mapping
- Use exact material properties from reference logo.html (MeshPhysicalMaterial)
- Apply proper metallic sheen, clearcoat, and reflectivity settings
- Fix camera positioning and canvas sizing to prevent clipping
- Maintain square aspect ratio for consistent logo display
- Load user's mobius-ring.glb with fallback torus geometry

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-24 14:13:29 +10:00
tony
e73df0b20d Code reorg 2025-08-23 09:06:12 +10:00
tony
b25886a88c fix: Resolve color-blindness ring theme toggle conflicts
- Fix conflicting data-theme attributes between accessibility system and dark/light toggle
- Remove obsolete updateRingMaterial function that referenced non-existent mobius variable
- Update setAccessibilityTheme to use both data-theme and data-accessibility attributes
- Add dark mode variants for all accessibility materials (protanopia, deuteranopia, tritanopia, achromatopsia)
- Update logo.js material selection logic to check both attribute systems
- Ensure theme toggle preserves accessibility settings while changing light/dark mode
- Update CHORUS 8-color accessibility system with proper light/dark mode material mappings

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-21 08:28:13 +10:00
tony
ba0e8c84ae feat: Add comprehensive iconography system and enhance brand guidelines
- Add complete Iconography section with Coolicons v4.1 integration
- Implement theme-adaptive icons (black for light mode, white for dark mode)
- Add Visual Aid modal dialog for accessibility settings
- Replace theme toggle with semantic moon/sun icons
- Add personality trait icons with appropriate semantic choices
- Fix code block theming to respect light/dark mode toggle
- Include comprehensive icon categories: Interface, File/Data, Communication, Navigation
- Add detailed implementation guides for HTML, SVG, and Tailwind
- Create accessibility-aware color system with vision deficiency support
- Add Inconsolata and Inter Tight fonts for complete typography system

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-20 16:49:53 +10:00
tony
4511f4c801 Pre-cleanup snapshot - all current files
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-05 02:32:45 +10:00
tony
26079aa8da feat(infrastructure): Update deployment configs and add hosting documentation
- Update docker-compose.swarm.yml with latest service configurations
- Add docker-compose.website-only.yml for standalone website deployment
- Add domain_info.yaml with DNS and hosting configuration details
- Add hosting.md with deployment and infrastructure documentation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-02 22:18:46 +10:00
tony
b7553856f5 feat: Add comprehensive brand system and website architecture documentation
This commit adds the complete CHORUS Services brand system and documentation:

BRAND ASSETS:
- Complete CHORUS brand guide with visual identity standards
- Comprehensive typography system with Exo font family
- Color system documentation (Carbon Black, Walnut Brown, Brushed Aluminum)
- Brand usage guidelines and logo specifications
- Website mockup concepts and design assets
- Texture assets for brand consistency

WEBSITE SUBMODULE UPDATE:
- Update to latest commit (7774d7e) with full brand system implementation
- Includes typography system, design tokens, and component updates
- Production-ready brand application across all website components

DOCUMENTATION:
- Website Architecture Strategy: Next.js 13+ with Ant Design 5+ technical specs
- UX Design Strategy: User experience and interface design principles
- Website Functionality Audit: Feature requirements and technical specifications
- Network Validation Report: Infrastructure and deployment validation

ASSETS STRUCTURE:
- /brand-assets/fonts/ - Complete Exo font family with licensing
- /brand-assets/colors/ - Color system documentation
- /brand-assets/typography/ - Typography hierarchy specifications
- /brand-assets/guidelines/ - Brand usage and implementation guidelines
- /brand-assets/mockups/ - Website design concepts and layouts
- /brand-assets/textures/ - Visual texture assets for brand consistency

This establishes the complete foundation for CHORUS Services brand identity
and provides comprehensive documentation for consistent implementation
across all marketing and product materials.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-02 22:13:32 +10:00
tony
fccedf229a Update documentation for website submodule integration
- Add website to project structure documentation
- Include website build commands in management reference
- Document new submodule in architecture overview
- Update .gitmodules with branch specification for better submodule management

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-02 14:02:12 +10:00
tony
4c2806d4ff Integrate CHORUS Services website as git submodule
INTEGRATION COMPLETE:
- Initialize git repository in website directory with all project files
- Add website as git submodule in modules/website/ following existing structure
- Update .gitmodules to include website submodule configuration
- Update build-and-push.sh to reference modules/website instead of website
- Fix website build configuration for Docker compatibility

SUBMODULE STRUCTURE:
modules/
├── bzzz/     # P2P Agent Coordination
├── slurp/    # Context Management (HCFS)
├── whoosh/   # Orchestration Platform
└── website/  # Marketing Website (NEW)

BUILD SYSTEM INTEGRATION:
- ./chorus.sh build works with submodule structure
- ./build-and-push.sh website builds from modules/website
- Docker stack deploy continues to work with existing configuration
- All existing CHORUS infrastructure maintains compatibility

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-02 14:00:28 +10:00
tony
9dafa8bcd9 feat: update WHOOSH submodule with agent roles integration
- Merged feature/agent-roles-integration branch to master
- Added comprehensive agent role management system
- Includes AgentManagement, AgentRoleSelector, and CollaborationDashboard components
- Updated database schema with agent roles and Gitea support
- Fixed production deployment URLs and registry integration
- WHOOSH now ready for role-based orchestration in CHORUS Services

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-01 10:09:40 +10:00
tony
214773f3fa feat: update BZZZ submodule with agent roles integration
- Merged feature/agent-roles-integration branch to main
- Added comprehensive agent role integration from Bees-AgenticWorkers
- Includes role-based configuration, collaboration, and topic subscription
- Fixed Docker and import issues for CHORUS Services integration
- BZZZ now ready for role-based multi-agent coordination

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-01 10:05:05 +10:00
tony
b45c9c537e feat: correct SLURP/HCFS architecture and complete Docker integration
Major architectural correction based on user clarification:

ARCHITECTURE CHANGES:
- SLURP: Context curator service that processes Hypercore logs, filters by role/triggers, serves via SQL
- HCFS: FUSE filesystem overlay embedded in sandbox Docker images, not a separate service
- Agents access context transparently through filesystem operations via HCFS → SLURP

DOCKER CONFIGURATION:
- Renamed slurp-api → slurp-curator throughout all configurations
- Created proper Dockerfiles for SLURP curator and COOEE RL tuner services
- Updated environment variables to reflect curator service role
- Fixed missing slurp_data volume in docker-compose.yml

UPDATED FILES:
- README.md: Corrected SLURP description from "Context Management" to "Context Curator Service"
- docker-compose.yml: Service rename, environment updates, added missing volume
- docker-compose.swarm.yml: Production deployment with correct service names
- build-and-push.sh: Updated to build slurp-curator service
- chorus.sh: Updated service references and endpoints
- init-db.sql: Database initialization for curator service
- modules/slurp/Dockerfile: New curator service container
- modules/slurp/Dockerfile.rl-tuner: New COOEE RL tuner container

VALIDATION:
- WHOOSH submodule validated: proper Dockerfiles and dependencies present
- BZZZ submodule integrated: build issues identified in original repo (requires separate fix)
- All Docker configurations updated to reflect correct architecture

MEMORY UPDATES:
- project_overview: Updated with correct SLURP/HCFS roles and current project status
- Removed references to deprecated HMMM component

This commit ensures all configuration reflects the correct architectural understanding
where SLURP curates context from logs and HCFS provides transparent filesystem access
to that curated context within agent sandbox environments.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-01 10:01:34 +10:00
tony
13364b9e8c Configure external chorus.services domain access
External Domain Configuration:
- Updated Docker Swarm for chorus.services domain (202.171.184.242)
- Configured dashboard.chorus.services for WHOOSH frontend
- Configured api.chorus.services for backend API
- Prepared www.chorus.services for marketing website (ready for submodule)

Traefik Configuration:
- SSL/TLS certificates via Let's Encrypt
- Domain redirects: chorus.services → www.chorus.services
- Proper CORS origins for external access
- Load balancing and high availability

Production Endpoints:
- Marketing Website: https://www.chorus.services (pending project)
- Dashboard: https://dashboard.chorus.services
- API: https://api.chorus.services
- Documentation: https://api.chorus.services/docs

Build System:
- Updated build scripts for website integration
- Registry image preparation: chorus-website:latest
- Management script updates for external domains

Ready for website project integration as git submodule when available.
2025-08-01 09:35:26 +10:00
tony
ecca86b0fe Configure Docker registry integration for CHORUS Services
Registry Configuration:
- Updated docker-compose.yml to use registry.home.deepblack.cloud images
- Created build-and-push.sh script for automated image building/pushing
- Enhanced chorus.sh with registry operations (login, build, pull)
- Added docker-compose.dev.yml for development with local builds
- Added docker-compose.swarm.yml for production deployment

Production Features:
- Docker Swarm deployment with Traefik integration
- All services available at *.home.deepblack.cloud domains
- Production-grade resource limits and placement constraints
- SSL/TLS certificates via Let's Encrypt
- Load balancing and high availability

Development Features:
- ./chorus.sh dev - Local builds with live reloading
- ./chorus.sh build - Build and push to registry
- ./chorus.sh deploy - Production swarm deployment
- Registry authentication with credentials

Images stored at:
- registry.home.deepblack.cloud/tony/chorus-whoosh-backend:latest
- registry.home.deepblack.cloud/tony/chorus-whoosh-frontend:latest
- registry.home.deepblack.cloud/tony/chorus-bzzz-coordinator:latest
- registry.home.deepblack.cloud/tony/chorus-slurp-api:latest
- registry.home.deepblack.cloud/tony/chorus-slurp-rl-tuner:latest

Ready for both development and production deployment.
2025-08-01 09:23:26 +10:00
tony
2090a94f58 Complete CHORUS Services integration with unified orchestration
- Docker Compose orchestration for all services
- Unified management script (chorus.sh) with full lifecycle controls
- Monitoring stack (Prometheus on 9092, Grafana on 3002)
- Database initialization and networking configuration
- Comprehensive documentation and usage guides
- Port conflict resolution (avoid Cockpit on 9090)

Components integrated:
- WHOOSH: Orchestration platform (ports 3001, 8087)
- BZZZ: P2P coordination system (port 8080)
- SLURP: Context management system (port 8088)
- COOEE: RL feedback system (port 8089)
- Infrastructure: PostgreSQL, Redis, monitoring stack

Ready for deployment and development.
2025-08-01 09:16:58 +10:00
3964 changed files with 63582 additions and 521 deletions

8
.gitignore vendored
View File

@@ -46,3 +46,11 @@ logs/
# Temporary files # Temporary files
tmp/ tmp/
temp/ temp/
# Next.js build artifacts
.next/
out/
# Package archives
*.tar.gz
*.zip

4
.gitmodules vendored
View File

@@ -7,3 +7,7 @@
[submodule "modules/whoosh"] [submodule "modules/whoosh"]
path = modules/whoosh path = modules/whoosh
url = http://tony:silverfrond[1392]@ironwood:3000/tony/hive.git url = http://tony:silverfrond[1392]@ironwood:3000/tony/hive.git
[submodule "modules/website"]
path = modules/website
url = http://tony:silverfrond[1392]@ironwood:3000/tony/chorus-website.git
branch = main

1
.obsidian/app.json vendored Normal file
View File

@@ -0,0 +1 @@
{}

0
.obsidian/appearance.json vendored Normal file
View File

33
.obsidian/core-plugins.json vendored Normal file
View File

@@ -0,0 +1,33 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"properties": false,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": true,
"webviewer": false,
"footnotes": false,
"bases": true
}

210
.obsidian/workspace.json vendored Normal file
View File

@@ -0,0 +1,210 @@
{
"main": {
"id": "49f18c78518039c8",
"type": "split",
"children": [
{
"id": "fea88e09bce7fef2",
"type": "tabs",
"children": [
{
"id": "472092e9ada7a8e6",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "brand-assets/CHORUS-BRAND-GUIDE.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "CHORUS-BRAND-GUIDE"
}
}
]
}
],
"direction": "vertical"
},
"left": {
"id": "b510957437397946",
"type": "split",
"children": [
{
"id": "157d722a91bc8e15",
"type": "tabs",
"children": [
{
"id": "9001986372506f85",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical",
"autoReveal": false
},
"icon": "lucide-folder-closed",
"title": "Files"
}
},
{
"id": "1d6f26c2d2402f8e",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
},
"icon": "lucide-search",
"title": "Search"
}
},
{
"id": "5b830db8721ad2ed",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {},
"icon": "lucide-bookmark",
"title": "Bookmarks"
}
}
]
}
],
"direction": "horizontal",
"width": 252.5
},
"right": {
"id": "a1ab5e22b95db49c",
"type": "split",
"children": [
{
"id": "245785f7c0bf960b",
"type": "tabs",
"children": [
{
"id": "31a2e09288336a61",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "modules/whoosh/backend/DOCUMENTATION_SUMMARY.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": true,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-coming-in",
"title": "Backlinks for DOCUMENTATION_SUMMARY"
}
},
{
"id": "57211ee20d0c9d61",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "modules/whoosh/backend/DOCUMENTATION_SUMMARY.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
},
"icon": "links-going-out",
"title": "Outgoing links from DOCUMENTATION_SUMMARY"
}
},
{
"id": "071c40df45653454",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-tags",
"title": "Tags"
}
},
{
"id": "1a55201803c42e38",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "modules/whoosh/backend/DOCUMENTATION_SUMMARY.md",
"followCursor": false,
"showSearch": false,
"searchQuery": ""
},
"icon": "lucide-list",
"title": "Outline of DOCUMENTATION_SUMMARY"
}
}
]
}
],
"direction": "horizontal",
"width": 300,
"collapsed": true
},
"left-ribbon": {
"hiddenItems": {
"switcher:Open quick switcher": false,
"graph:Open graph view": false,
"canvas:Create new canvas": false,
"daily-notes:Open today's daily note": false,
"templates:Insert template": false,
"command-palette:Open command palette": false
}
},
"active": "472092e9ada7a8e6",
"lastOpenFiles": [
"brand-assets/logos/moebius-ring.blend",
"brand-assets/logos/moebius-ring.glb",
"brand-assets/logos/moebius-ring.blend@",
"brand-assets/logos/moebius-ring.blend1",
"brand-assets/logos/chorus-logo-concept.md",
"brand-assets/guidelines/brand-usage-guidelines.md",
"brand-assets/colors/chorus-color-system.md",
"modules/slurp/hcfs-python/hcfs/core/__pycache__/filesystem.cpython-310.pyc",
"modules/slurp/hcfs-python/hcfs/core/__pycache__/context_db.cpython-310.pyc",
"modules/slurp/hcfs-python/hcfs/core/__pycache__/__init__.cpython-310.pyc",
"modules/slurp/hcfs-python/hcfs/core/__pycache__",
"modules/slurp/hcfs-python/hcfs/__pycache__/__init__.cpython-310.pyc",
"modules/slurp/hcfs-python/hcfs/__pycache__",
"modules/whoosh/EVENT_CONFIGURATION_SYSTEM.md",
"modules/whoosh/EVENT_CONFIGURATION_SYSTEM.md.tmp.1675830.1754294063541",
"homepage-content.md",
"modules/posthuman/docs/operations.md",
"modules/posthuman/docs/development.md",
"modules/posthuman/docs/api.md",
"modules/posthuman/docs/deployment.md",
"modules/posthuman/docs/architecture.md",
"modules/posthuman/conductor-kernel/PERFORMANCE_OPTIMIZATION.md",
"modules/posthuman/PROJECT_PLAN.md",
"modules/posthuman/README.md",
"modules/hmmm/PROJECT_PLAN.md",
"modules/whoosh/backend/DEPLOYMENT_FIXES.md",
"modules/whoosh/backend/DOCUMENTATION_SUMMARY.md",
"modules/whoosh/docs/project-complete.md",
"modules/whoosh/docs/environment-requirements.md",
"modules/whoosh/docs/implementation-complete.md",
"modules/whoosh/docs/LOCAL_DEVELOPMENT.md",
"modules/whoosh/docs/phase3-completion-summary.md",
"modules/whoosh/docs/phase4-completion-summary.md",
"modules/whoosh/docs/phase5-completion-summary.md",
"modules/whoosh/frontend/TESTING.md",
"modules/whoosh/results/rosewood_qa_report_1751891435.md"
]
}

421
DESIGN.md
View File

@@ -1,421 +0,0 @@
## **Revised Implementation Guide: CHORUS Services with Ant Design**
### **Why Ant Design Works Well for CHORUS**
Based on my research, Ant Design is actually perfect for your use case:
- **Enterprise-Grade Components**: Built specifically for complex, data-driven applications[1][2]
- **Advanced Theming**: CSS-in-JS with dynamic theme capabilities[3][4]
- **Performance Optimized**: When properly configured, can achieve 80% bundle size reduction[5][6]
- **React Integration**: Seamless integration with Framer Motion for animations[7]
## **Updated Technology Stack**
```javascript
// Core Dependencies
- Next.js 13+ (App Router)
- Ant Design 5.25+ (latest with CSS variables support)
- Framer Motion (for parallax and animations)
- @ant-design/cssinjs (for custom theming)
- antd-style (for additional CSS-in-JS capabilities)
```
## **Bundle Optimization Strategy**
First, let's implement tree-shaking to avoid the performance issues:
```javascript
// ❌ Avoid: Full library import
import { Button, Card, Layout } from 'antd';
// ✅ Optimized: Component-level imports
import Button from 'antd/es/button';
import Card from 'antd/es/card';
import Layout from 'antd/es/layout';
// Or create a centralized import file
// components/antd/index.js
export { default as Button } from 'antd/es/button';
export { default as Card } from 'antd/es/card';
export { default as Layout } from 'antd/es/layout';
```
## **Custom Theme Configuration**
Here's how to implement your technology-focused aesthetic with Ant Design theming:
```javascript
// theme/chorousTheme.js
import { theme } from 'antd';
export const chorusTheme = {
algorithm: theme.darkAlgorithm, // Enable dark mode by default
token: {
// Color System (replacing our previous color palette)
colorPrimary: '#007aff', // Electric blue
colorSuccess: '#30d158', // Emerald green
colorWarning: '#ff9f0a', // Amber orange
colorError: '#ff453a', // System red
colorInfo: '#007aff', // Electric blue
// Background Colors
colorBgContainer: '#1a1a1a', // Deep charcoal
colorBgElevated: '#2d2d30', // Cool gray
colorBgLayout: '#000000', // Pure black
// Typography
fontFamily: `-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Inter', sans-serif`,
fontSize: 16,
fontSizeHeading1: 84, // Large headlines
fontSizeHeading2: 48, // Section headers
fontSizeHeading3: 36, // Subsection headers
// Spacing & Layout
borderRadius: 8, // Consistent 8px radius
wireframe: false, // Enable modern styling
// Performance & Motion
motionDurationSlow: '0.3s', // Matching Apple's timing
motionDurationMid: '0.2s',
motionDurationFast: '0.1s',
},
components: {
// Custom Button Styling
Button: {
primaryShadow: '0 12px 24px rgba(0, 122, 255, 0.3)',
controlHeight: 48, // Larger touch targets
fontWeight: 600,
},
// Custom Card Styling
Card: {
borderRadiusLG: 12, // Slightly larger for cards
paddingLG: 32,
},
// Custom Layout
Layout: {
headerBg: 'rgba(26, 26, 26, 0.8)', // Semi-transparent header
headerHeight: 72,
},
// Typography Components
Typography: {
titleMarginTop: 0,
titleMarginBottom: 24,
}
}
};
```
## **Component Architecture**
Here's how to structure your components with Ant Design:
```javascript
// components/ui/PerformanceCard.jsx
import { Card, Typography, Space, Tag } from 'antd';
import { motion } from 'framer-motion';
const { Title, Text } = Typography;
export const PerformanceCard = ({ title, description, metrics, delay = 0 }) => {
return (
<motion.div
initial={{ opacity: 0, y: 40 }}
whileInView={{ opacity: 1, y: 0 }}
transition={{ duration: 0.6, delay }}
viewport={{ once: true }}
>
<Card
hoverable
className="performance-card"
styles={{
body: { padding: '32px' }
}}
>
<Space direction="vertical" size="large" style={{ width: '100%' }}>
<Title level={3} style={{ margin: 0, color: '#f2f2f7' }}>
{title}
</Title>
<Text style={{ fontSize: '16px', lineHeight: '1.6', color: '#a1a1a6' }}>
{description}
</Text>
<Space wrap>
{metrics.map((metric, index) => (
<Tag
key={index}
color="processing"
style={{
padding: '8px 16px',
fontSize: '14px',
fontWeight: 600,
border: 'none',
background: 'rgba(0, 122, 255, 0.1)',
color: '#007aff'
}}
>
{metric}
</Tag>
))}
</Space>
</Space>
</Card>
</motion.div>
);
};
```
## **Framer Motion Integration**
Ant Design components work seamlessly with Framer Motion:
```javascript
// components/sections/HeroSection.jsx
import { Layout, Typography, Button, Space } from 'antd';
import { motion } from 'framer-motion';
const { Header } = Layout;
const { Title, Text } = Typography;
export const HeroSection = () => {
return (
<Header
style={{
height: '100vh',
display: 'flex',
alignItems: 'center',
background: 'linear-gradient(135deg, #000000 0%, #1a1a1a 100%)'
}}
>
<motion.div
initial={{ opacity: 0 }}
animate={{ opacity: 1 }}
transition={{ duration: 1 }}
style={{ maxWidth: '1200px', margin: '0 auto', padding: '0 24px' }}
>
<Space direction="vertical" size="large" align="center">
<motion.div
initial={{ y: 40, opacity: 0 }}
animate={{ y: 0, opacity: 1 }}
transition={{ duration: 0.8, delay: 0.2 }}
>
<Title
level={1}
style={{
fontSize: '84px',
fontWeight: 700,
textAlign: 'center',
margin: 0,
background: 'linear-gradient(135deg, #f2f2f7 0%, #007aff 100%)',
WebkitBackgroundClip: 'text',
WebkitTextFillColor: 'transparent'
}}
>
CHORUS Services
</Title>
</motion.div>
<motion.div
initial={{ y: 40, opacity: 0 }}
animate={{ y: 0, opacity: 1 }}
transition={{ duration: 0.8, delay: 0.4 }}
>
<Text
style={{
fontSize: '36px',
textAlign: 'center',
color: '#a1a1a6'
}}
>
Distributed AI Orchestration Without the Hallucinations
</Text>
</motion.div>
<motion.div
initial={{ y: 40, opacity: 0 }}
animate={{ y: 0, opacity: 1 }}
transition={{ duration: 0.8, delay: 0.6 }}
>
<Space size="large">
<Button
type="primary"
size="large"
style={{ height: '56px', padding: '0 32px', fontSize: '16px' }}
>
Explore the Platform
</Button>
<Button
size="large"
style={{ height: '56px', padding: '0 32px', fontSize: '16px' }}
>
See Technical Demos
</Button>
</Space>
</motion.div>
</Space>
</motion.div>
</Header>
);
};
```
## **Parallax Implementation with Ant Design**
```javascript
// components/sections/ParallaxSection.jsx
import { Layout, Row, Col, Card } from 'antd';
import { motion, useScroll, useTransform } from 'framer-motion';
import { useRef } from 'react';
const { Content } = Layout;
export const ParallaxSection = ({ children }) => {
const ref = useRef(null);
const { scrollYProgress } = useScroll({
target: ref,
offset: ["start end", "end start"]
});
const y1 = useTransform(scrollYProgress, [0, 1], [0, -200]);
const y2 = useTransform(scrollYProgress, [0, 1], [0, 200]);
return (
<Layout ref={ref} style={{ minHeight: '100vh', position: 'relative' }}>
{/* Background Layer */}
<motion.div
style={{
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
background: 'radial-gradient(circle at 50% 50%, #1a1a1a 0%, #000000 100%)',
y: y1
}}
/>
{/* Content Layer */}
<Content style={{ position: 'relative', zIndex: 1, padding: '120px 24px' }}>
<motion.div style={{ y: y2 }}>
{children}
</motion.div>
</Content>
</Layout>
);
};
```
## **App Configuration**
```javascript
// app/layout.jsx
'use client';
import { ConfigProvider } from 'antd';
import { chorusTheme } from '../theme/chorusTheme';
import 'antd/dist/reset.css'; // Use reset instead of full CSS
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
<ConfigProvider theme={chorusTheme}>
{children}
</ConfigProvider>
</body>
</html>
);
}
```
## **Performance Optimizations**
```javascript
// next.config.js
module.exports = {
// Enable tree shaking for Ant Design
transpilePackages: ['antd'],
// Optimize bundle splitting
webpack: (config) => {
config.optimization.splitChunks.cacheGroups.antd = {
name: 'antd',
test: /[\\/]node_modules[\\/]antd[\\/]/,
chunks: 'all',
priority: 10,
};
return config;
},
};
```
## **Key Advantages of This Approach**
1. **Enterprise-Ready**: Ant Design's components are built for complex applications[8]
2. **Consistent Design Language**: Built-in design system ensures consistency[1]
3. **Performance**: Proper tree-shaking reduces bundle size by up to 80%[6]
4. **Accessibility**: Ant Design has excellent built-in accessibility features[2]
5. **Theming Power**: CSS-in-JS enables dynamic theme switching[4]
6. **Animation Integration**: Works seamlessly with Framer Motion[7]
This approach gives you all the sophisticated theming and component capabilities of Ant Design while maintaining the Apple-inspired, technology-focused aesthetic we designed. The bundle optimization ensures performance remains excellent, and the CSS-in-JS theming provides the flexibility to create your unique visual identity.
Sources
[1] Ant Design - The world's second most popular React UI framework https://ant.design
[2] Ant Design 101 Introduction to a Design System for Enterprises https://www.uxpin.com/studio/blog/ant-design-introduction/
[3] ant design app development-en https://www.appleute.de/en/app-entwickler-bibliothek/app-development-with-ant-design/
[4] Ant Design System Dark Mode and Other Theme Customization https://betterprogramming.pub/ant-design-system-dark-mode-and-other-theme-customization-fa4ff14359a4
[5] Reduce Ant Design Bundle Size Multiple Times - Octa Labs Insights https://blog.octalabs.com/reduce-ant-design-bundle-size-multiple-times-simple-strategies-and-steps-for-smaller-bundles-66d5b7b898d3
[6] Ant Design Bundle Size Optimization: The Tree Shaking Approach ... https://dev.to/anaselbahrawy/ant-design-bundle-size-optimization-the-tree-shaking-approach-every-react-developer-should-know-2l5a
[7] How to use framer-motion with ant design - DEV Community https://dev.to/a4addel/how-to-use-framer-motion-with-ant-design-57j5
[8] 2025's Best CSS Frameworks for React: Speed, Flexibility & UI Power https://www.linkedin.com/pulse/2025s-best-css-frameworks-react-speed-flexibility-ui-power-srikanth-r-s2pjc
[9] Tailwind CSS vs Ant Design for React Component Styling - MoldStud https://moldstud.com/articles/p-comparing-tailwind-css-and-ant-design-for-react-component-styling-which-framework-wins
[10] Changelog - Ant Design https://ant.design/changelog/
[11] Tailwind CSS vs. Ant Design: Choosing the Right UI Framework for ... https://www.linkedin.com/pulse/tailwind-css-vs-ant-design-choosing-right-ui-your-project-lalwani-ckibf
[12] Customize Theme - Ant Design https://ant.design/docs/react/customize-theme/
[13] Updates - Ant Design System for Figma https://www.antforfigma.com/updates
[14] Tailwind CSS+UI or Ant Design for an enterprise CMS built ... - Reddit https://www.reddit.com/r/webdev/comments/1af9kdx/tailwind_cssui_or_ant_design_for_an_enterprise/
[15] Introduction to Customization - Ant Design System for Figma https://www.antforfigma.com/docs/customization-intro
[16] Ant Design Select: Features, Benefits & Best Practices https://www.creolestudios.com/ant-design-select-guide/
[17] Tailwind CSS vs Ant Design https://www.csshunter.com/tailwind-css-vs-ant-design/
[18] Ant Design System for Figma - UI Kit https://www.antforfigma.com
[19] Tailwind CSS vs Ant Design Comparison for React Styling | MoldStud https://moldstud.com/articles/p-tailwind-css-vs-ant-design-a-comprehensive-comparison-for-react-component-styling
[20] CSS Frameworks 2024: Tailwind vs. Others - Tailkits https://tailkits.com/blog/popular-css-frameworks/
[21] Customize theme with ConfigProvider - Ant Design Vue https://www.antdv.com/docs/vue/customize-theme
[22] Best 19 React UI Component Libraries in 2025 - Prismic https://prismic.io/blog/react-component-libraries
[23] Top 5 CSS Frameworks in 2024: Tailwind, Material-UI, Ant Design ... https://www.codingwallah.org/blog/2024-top-css-frameworks-tailwind-material-ui-ant-design-shadcn-chakra-ui
[24] Ant Design System Overview: Versions, Basics & Resources - Motiff https://motiff.com/design-system-wiki/design-systems-overview/ant-design
[25] The 10 Best Alternatives to Ant Design in 2025 - Subframe https://www.subframe.com/tips/ant-design-alternatives
[26] antd vs Tailwind CSS - compare differences and reviews? | LibHunt https://www.libhunt.com/compare-ant-design-vs-tailwindcss
[27] ant-design/cssinjs - GitHub https://github.com/ant-design/cssinjs
[28] How to use Ant Design Icons and customize them in ReactJS app https://www.youtube.com/watch?v=faUYaR4Nb1E
[29] React Bootstrap vs Ant Design: Which One is Better in 2025? https://www.subframe.com/tips/react-bootstrap-vs-ant-design
[30] How to customize Ant.design styles - Stack Overflow https://stackoverflow.com/questions/48620712/how-to-customize-ant-design-styles
[31] Reduce Ant Design Bundle Size Multiple Times - LinkedIn https://www.linkedin.com/posts/octa-labs-official_reduce-ant-design-bundle-size-multiple-times-activity-7192040213894905858-emnS
[32] How to update style element in Ant Design React component using ... https://stackoverflow.com/questions/71974731/how-to-update-style-element-in-ant-design-react-component-using-javascript
[33] Bundle size optimization #22698 - ant-design/ant-design - GitHub https://github.com/ant-design/ant-design/issues/22698
[34] CSS in v6 - Ant Design https://ant.design/docs/blog/css-tricks/
[35] Ant Design - The world's second most popular React UI framework https://ant-design.antgroup.com
[36] Does Ant Design Library size effect website performance? https://stackoverflow.com/questions/73658638/does-ant-design-library-size-effect-website-performance
[37] ant-design/antd-style: css-in-js library with antd v5 token system https://github.com/ant-design/antd-style
[38] Icon - Ant Design https://ant.design/components/icon/
[39] Optimizing Performance in React Apps Using Ant Design - Till it's done https://tillitsdone.com/blogs/react-performance-with-ant-design/
[40] Quick Start to CSS in JS - Ant Design Style https://ant-design.github.io/antd-style/guide/css-in-js-intro/
[41] Ant Design vs Shadcn: Which One is Better in 2025? - Subframe https://www.subframe.com/tips/ant-design-vs-shadcn
[42] Ant Design Theme Customization in React JS - YouTube https://www.youtube.com/watch?v=tgD-csfLNUs
[43] Build Smooth Scrolling Parallax Effects with React & Framer Motion https://www.youtube.com/watch?v=E5NK61vO_sg
[44] Are you going to continue using css-in-js? It negatively affects the ... https://github.com/ant-design/ant-design/discussions/43668
[45] Taking Control of the Browser Dark Mode with Ant Design and ... - TY https://www.tzeyiing.com/posts/taking-control-of-the-browser-dark-mode-with-ant-design-and-tailwindcss-for-dark-mode-wizardry
[46] How to Use Framer Motion for React Animations https://blog.pixelfreestudio.com/how-to-use-framer-motion-for-react-animations/
[47] Dark Mode - Ant Design https://ant.design/docs/spec/dark/
[48] Motion - Ant Design https://ant.design/docs/spec/motion/
[49] Blueprint vs Ant Design: Which One is Better in 2025? - Subframe https://www.subframe.com/tips/blueprint-vs-ant-design
[50] Is there a way to change the colour palette for light and dark themes ... https://stackoverflow.com/questions/74653488/is-there-a-way-to-change-the-colour-palette-for-light-and-dark-themes-in-ant-des
[51] Create clipped parallax with framer motion - Stack Overflow https://stackoverflow.com/questions/76777374/create-clipped-parallax-with-framer-motion
[52] @ant-design/cssinjs CDN by jsDelivr - A CDN for npm and GitHub https://www.jsdelivr.com/package/npm/@ant-design/cssinjs
[53] Build a Parallax Section Transition with React and Framer Motion https://www.youtube.com/watch?v=nZ2LDB7Q7Rk
[54] Theming - Refine dev https://refine.dev/docs/ui-integrations/ant-design/theming/
[55] 13 Awesome React Animation Libraries To Elevate Your Design ... https://magicui.design/blog/react-animation-libraries

194
brand-assets/README.md Normal file
View File

@@ -0,0 +1,194 @@
# CHORUS Services Brand Assets
This directory contains the complete visual identity system for CHORUS Services, providing everything needed to maintain consistent, professional brand presentation across all applications and audiences.
## 📁 Directory Structure
brand-assets/
├── 📋 README.md # This overview file
├── 📘 CHORUS-BRAND-GUIDE.md # Complete brand guide
├── 🎨 colors/
│ └── chorus-color-system.md # Color palette specifications
├── 🖼️ logos/
│ ├── chorus-logo-concept.md # Primary logo design concept
│ ├── component-logo-system.md # Component brand integration
│ └── logo-variations-specifications.md # All logo variations
├── 📝 typography/
│ └── chorus-typography-system.md # Complete typography system
├── 📋 guidelines/
│ └── brand-usage-guidelines.md # Usage standards and rules
├── 🖼️ mockups/
│ └── website-mockup-concept.md # Implementation examples
└── 📄 templates/
└── [Future templates will be added here]
## 🎯 Quick Start Guide
### For Designers
1. **Start with**: [CHORUS-BRAND-GUIDE.md](./CHORUS-BRAND-GUIDE.md) for complete overview
2. **Logo Usage**: [logos/chorus-logo-concept.md](./logos/chorus-logo-concept.md) for primary logo specifications
3. **Color System**: [colors/chorus-color-system.md](./colors/chorus-color-system.md) for color palette
4. **Typography**: [typography/chorus-typography-system.md](./typography/chorus-typography-system.md) for font system
### For Developers
1. **Implementation Guide**: [CHORUS-BRAND-GUIDE.md](./CHORUS-BRAND-GUIDE.md) (Implementation Examples section)
2. **Color Variables**: [colors/chorus-color-system.md](./colors/chorus-color-system.md) (CSS Custom Properties)
3. **Typography CSS**: [typography/chorus-typography-system.md](./typography/chorus-typography-system.md) (Utility Classes)
4. **Logo Integration**: [logos/logo-variations-specifications.md](./logos/logo-variations-specifications.md) (SVG & CSS)
### For Marketing Teams
1. **Usage Guidelines**: [guidelines/brand-usage-guidelines.md](./guidelines/brand-usage-guidelines.md)
2. **Component Branding**: [logos/component-logo-system.md](./logos/component-logo-system.md)
3. **Mockup Examples**: [mockups/website-mockup-concept.md](./mockups/website-mockup-concept.md)
4. **Brand Voice**: [guidelines/brand-usage-guidelines.md](./guidelines/brand-usage-guidelines.md) (Content Guidelines)
## 🎨 Brand System Overview
### Core Identity
- **Brand Promise**: Enterprise-ready distributed AI orchestration without hallucinations
- **Visual Metaphor**: Musical orchestration meets distributed technology
- **Design Philosophy**: Sophisticated simplicity with global accessibility
- **Target Audience**: Enterprise technical decision-makers and AI research leaders
### Primary Elements
#### Logo System
- **Primary Logo**: Orchestration symbol + CHORUS Services wordmark
- **Configurations**: Horizontal, stacked, icon-only versions
- **Modular System**: Integrates with component logos (WHOOSH, BZZZ, SLURP, COOEE)
#### Color Palette
- **Core Colors**: Carbon Black, Natural Paper, Walnut Brown, Brushed Aluminum
- **System Colors**: Orchestration Blue, Harmony Green, Resonance Amber, Alert Coral
- **Dual Mode**: Optimized for both dark digital themes and light print materials
#### Typography
- **Primary**: SF Pro Display/Text (Apple system fonts)
- **Fallback**: Cross-platform system font stack with Inter backup
- **Scale**: Responsive typography system with fluid scaling
- **Accessibility**: WCAG 2.1 AA compliant contrast ratios
## 📐 Technical Specifications
### Logo Minimum Sizes
- **Horizontal Layout**: 120px width (digital), 1.5" width (print)
- **Stacked Layout**: 80px width (digital), 1" width (print)
- **Icon Only**: 16px (favicon) to 512px (high-resolution)
### Color Values (Primary)
css
--color-carbon-black: #000000;
--color-natural-paper: #F5F5DC;
--color-orchestration-blue: #007AFF;
--color-walnut-brown: #8B4513;
--color-brushed-aluminum: #C0C0C0;
### Typography Scale
css
--text-hero: clamp(48px, 8vw, 84px); /* SF Pro Display Heavy */
--text-display-1: clamp(32px, 5vw, 48px); /* SF Pro Display Bold */
--text-body: 16px; /* SF Pro Text Regular */
--text-small: 14px; /* SF Pro Text Regular */
## 🛡️ Brand Protection
### Approved Usage
- ✅ Marketing materials by authorized CHORUS Services team
- ✅ Partner materials with proper brand license and approval
- ✅ Media coverage with appropriate brand credit and context
- ✅ Educational content referencing CHORUS Services capabilities
### Prohibited Usage
- ❌ Competitor materials or comparative advertising without permission
- ❌ Modified logos, colors, or typography outside brand specifications
- ❌ Inappropriate contexts that could damage brand reputation
- ❌ Commercial usage without proper licensing agreements
### Quality Standards
- All applications must meet WCAG 2.1 AA accessibility requirements
- Print applications require brand team approval before production
- Digital applications should follow responsive design principles
- International applications may require cultural sensitivity review
## 📞 Brand Contact Information
### Asset Requests
- **Brand Assets**: assets@chorus.services
- **Usage Questions**: marketing@chorus.services
- **Partnership Inquiries**: partnerships@chorus.services
### Approval Process
1. **Internal Review**: Brand Manager → Design Lead → Marketing Director
2. **External Applications**: Brand license agreement required
3. **Media Kits**: Available upon request with usage guidelines
4. **Partner Materials**: Review and approval process with compliance check
## 🔄 Version Control
### Current Status
- **Brand Guide Version**: 1.0
- **Last Updated**: 2025-08-01
- **Next Review**: Quarterly (2025-11-01)
- **Maintained By**: CHORUS Services Brand Team
### Change Log
- **v1.0 (2025-08-01)**: Initial comprehensive brand system creation
- Complete logo system with modular component integration
- Comprehensive color palette with dark/light mode specifications
- Typography system with responsive scaling
- Usage guidelines and implementation examples
### Future Enhancements
- [ ] Actual logo files (SVG, PNG, PDF formats)
- [ ] Component-specific asset packages
- [ ] Presentation templates (PowerPoint, Keynote, Google Slides)
- [ ] Social media template packages
- [ ] Brand photography guidelines and style
- [ ] Motion graphics and animation specifications
- [ ] Merchandise and promotional item guidelines
## 📚 Related Documentation
### Project Documentation
- [../../README.md](../../README.md): Main project overview
- [../../DESIGN.md](../../DESIGN.md): Technical design implementation
- [../../UX_DESIGN_STRATEGY.md](../../UX_DESIGN_STRATEGY.md): User experience strategy
### Technical Integration
- [../../modules/whoosh/frontend/](../../modules/whoosh/frontend/): Frontend implementation
- [../../website/](../../website/): Marketing website implementation
- [../../docker-compose.yml](../../docker-compose.yml): Service configuration
## 💡 Implementation Tips
### For Web Development
- Use CSS custom properties for consistent color application
- Implement responsive typography with clamp() functions
- Load fonts with font-display: swap for performance
- Maintain proper contrast ratios for accessibility compliance
### For Print Design
- Use vector formats (SVG, PDF) for scalable quality
- Test color reproduction on intended paper stocks
- Maintain minimum size requirements for legibility
- Consider ink coverage for large solid color areas
### For Social Media
- Use platform-optimized logo variations
- Maintain brand voice consistency across platforms
- Follow platform-specific size and format requirements
- Use approved hashtags: #CHORUSServices #DistributedAI #EnterpriseAI
## 🎵 Brand Philosophy
*"Individual components make music, but CHORUS Services creates symphony."*
The CHORUS Services brand represents the sophisticated orchestration of distributed AI agents, combining enterprise reliability with approachable innovation. Every brand touchpoint should reinforce our commitment to eliminating context loss, reducing hallucinations, and enabling scalable multi-agent collaboration for global enterprise clients.
---
**For questions, asset requests, or brand guidance, contact the CHORUS Services brand team.**

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1 @@
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}

Binary file not shown.

View File

@@ -0,0 +1,93 @@
Copyright 2017 The Exo Project Authors (https://github.com/NDISCOVER/Exo-1.0)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@@ -0,0 +1,81 @@
Exo Variable Font
=================
This download contains Exo as both variable fonts and static fonts.
Exo is a variable font with this axis:
wght
This means all the styles are contained in these files:
Exo/Exo-VariableFont_wght.ttf
Exo/Exo-Italic-VariableFont_wght.ttf
If your app fully supports variable fonts, you can now pick intermediate styles
that arent available as static fonts. Not all apps support variable fonts, and
in those cases you can use the static font files for Exo:
Exo/static/Exo-Thin.ttf
Exo/static/Exo-ExtraLight.ttf
Exo/static/Exo-Light.ttf
Exo/static/Exo-Regular.ttf
Exo/static/Exo-Medium.ttf
Exo/static/Exo-SemiBold.ttf
Exo/static/Exo-Bold.ttf
Exo/static/Exo-ExtraBold.ttf
Exo/static/Exo-Black.ttf
Exo/static/Exo-ThinItalic.ttf
Exo/static/Exo-ExtraLightItalic.ttf
Exo/static/Exo-LightItalic.ttf
Exo/static/Exo-Italic.ttf
Exo/static/Exo-MediumItalic.ttf
Exo/static/Exo-SemiBoldItalic.ttf
Exo/static/Exo-BoldItalic.ttf
Exo/static/Exo-ExtraBoldItalic.ttf
Exo/static/Exo-BlackItalic.ttf
Get started
-----------
1. Install the font files you want to use
2. Use your app's font picker to view the font family and all the
available styles
Learn more about variable fonts
-------------------------------
https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
https://variablefonts.typenetwork.com
https://medium.com/variable-fonts
In desktop apps
https://theblog.adobe.com/can-variable-fonts-illustrator-cc
https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
Online
https://developers.google.com/fonts/docs/getting_started
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
Installing fonts
MacOS: https://support.apple.com/en-us/HT201749
Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
Android Apps
https://developers.google.com/fonts/docs/android
https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
License
-------
Please read the full license text (OFL.txt) to understand the permissions,
restrictions and requirements for usage, redistribution, and modification.
You can use them in your products & projects print or digital,
commercial or otherwise.
This isn't legal advice, please consider consulting a lawyer and see the full
license for all details.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,93 @@
Copyright 2006 The Inconsolata Project Authors
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@@ -0,0 +1,135 @@
Inconsolata Variable Font
=========================
This download contains Inconsolata as both a variable font and static fonts.
Inconsolata is a variable font with these axes:
wdth
wght
This means all the styles are contained in a single file:
Inconsolata/Inconsolata-VariableFont_wdth,wght.ttf
If your app fully supports variable fonts, you can now pick intermediate styles
that arent available as static fonts. Not all apps support variable fonts, and
in those cases you can use the static font files for Inconsolata:
Inconsolata/static/Inconsolata_UltraCondensed-ExtraLight.ttf
Inconsolata/static/Inconsolata_UltraCondensed-Light.ttf
Inconsolata/static/Inconsolata_UltraCondensed-Regular.ttf
Inconsolata/static/Inconsolata_UltraCondensed-Medium.ttf
Inconsolata/static/Inconsolata_UltraCondensed-SemiBold.ttf
Inconsolata/static/Inconsolata_UltraCondensed-Bold.ttf
Inconsolata/static/Inconsolata_UltraCondensed-ExtraBold.ttf
Inconsolata/static/Inconsolata_UltraCondensed-Black.ttf
Inconsolata/static/Inconsolata_ExtraCondensed-ExtraLight.ttf
Inconsolata/static/Inconsolata_ExtraCondensed-Light.ttf
Inconsolata/static/Inconsolata_ExtraCondensed-Regular.ttf
Inconsolata/static/Inconsolata_ExtraCondensed-Medium.ttf
Inconsolata/static/Inconsolata_ExtraCondensed-SemiBold.ttf
Inconsolata/static/Inconsolata_ExtraCondensed-Bold.ttf
Inconsolata/static/Inconsolata_ExtraCondensed-ExtraBold.ttf
Inconsolata/static/Inconsolata_ExtraCondensed-Black.ttf
Inconsolata/static/Inconsolata_Condensed-ExtraLight.ttf
Inconsolata/static/Inconsolata_Condensed-Light.ttf
Inconsolata/static/Inconsolata_Condensed-Regular.ttf
Inconsolata/static/Inconsolata_Condensed-Medium.ttf
Inconsolata/static/Inconsolata_Condensed-SemiBold.ttf
Inconsolata/static/Inconsolata_Condensed-Bold.ttf
Inconsolata/static/Inconsolata_Condensed-ExtraBold.ttf
Inconsolata/static/Inconsolata_Condensed-Black.ttf
Inconsolata/static/Inconsolata_SemiCondensed-ExtraLight.ttf
Inconsolata/static/Inconsolata_SemiCondensed-Light.ttf
Inconsolata/static/Inconsolata_SemiCondensed-Regular.ttf
Inconsolata/static/Inconsolata_SemiCondensed-Medium.ttf
Inconsolata/static/Inconsolata_SemiCondensed-SemiBold.ttf
Inconsolata/static/Inconsolata_SemiCondensed-Bold.ttf
Inconsolata/static/Inconsolata_SemiCondensed-ExtraBold.ttf
Inconsolata/static/Inconsolata_SemiCondensed-Black.ttf
Inconsolata/static/Inconsolata-ExtraLight.ttf
Inconsolata/static/Inconsolata-Light.ttf
Inconsolata/static/Inconsolata-Regular.ttf
Inconsolata/static/Inconsolata-Medium.ttf
Inconsolata/static/Inconsolata-SemiBold.ttf
Inconsolata/static/Inconsolata-Bold.ttf
Inconsolata/static/Inconsolata-ExtraBold.ttf
Inconsolata/static/Inconsolata-Black.ttf
Inconsolata/static/Inconsolata_SemiExpanded-ExtraLight.ttf
Inconsolata/static/Inconsolata_SemiExpanded-Light.ttf
Inconsolata/static/Inconsolata_SemiExpanded-Regular.ttf
Inconsolata/static/Inconsolata_SemiExpanded-Medium.ttf
Inconsolata/static/Inconsolata_SemiExpanded-SemiBold.ttf
Inconsolata/static/Inconsolata_SemiExpanded-Bold.ttf
Inconsolata/static/Inconsolata_SemiExpanded-ExtraBold.ttf
Inconsolata/static/Inconsolata_SemiExpanded-Black.ttf
Inconsolata/static/Inconsolata_Expanded-ExtraLight.ttf
Inconsolata/static/Inconsolata_Expanded-Light.ttf
Inconsolata/static/Inconsolata_Expanded-Regular.ttf
Inconsolata/static/Inconsolata_Expanded-Medium.ttf
Inconsolata/static/Inconsolata_Expanded-SemiBold.ttf
Inconsolata/static/Inconsolata_Expanded-Bold.ttf
Inconsolata/static/Inconsolata_Expanded-ExtraBold.ttf
Inconsolata/static/Inconsolata_Expanded-Black.ttf
Inconsolata/static/Inconsolata_ExtraExpanded-ExtraLight.ttf
Inconsolata/static/Inconsolata_ExtraExpanded-Light.ttf
Inconsolata/static/Inconsolata_ExtraExpanded-Regular.ttf
Inconsolata/static/Inconsolata_ExtraExpanded-Medium.ttf
Inconsolata/static/Inconsolata_ExtraExpanded-SemiBold.ttf
Inconsolata/static/Inconsolata_ExtraExpanded-Bold.ttf
Inconsolata/static/Inconsolata_ExtraExpanded-ExtraBold.ttf
Inconsolata/static/Inconsolata_ExtraExpanded-Black.ttf
Inconsolata/static/Inconsolata_UltraExpanded-ExtraLight.ttf
Inconsolata/static/Inconsolata_UltraExpanded-Light.ttf
Inconsolata/static/Inconsolata_UltraExpanded-Regular.ttf
Inconsolata/static/Inconsolata_UltraExpanded-Medium.ttf
Inconsolata/static/Inconsolata_UltraExpanded-SemiBold.ttf
Inconsolata/static/Inconsolata_UltraExpanded-Bold.ttf
Inconsolata/static/Inconsolata_UltraExpanded-ExtraBold.ttf
Inconsolata/static/Inconsolata_UltraExpanded-Black.ttf
Get started
-----------
1. Install the font files you want to use
2. Use your app's font picker to view the font family and all the
available styles
Learn more about variable fonts
-------------------------------
https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
https://variablefonts.typenetwork.com
https://medium.com/variable-fonts
In desktop apps
https://theblog.adobe.com/can-variable-fonts-illustrator-cc
https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
Online
https://developers.google.com/fonts/docs/getting_started
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
Installing fonts
MacOS: https://support.apple.com/en-us/HT201749
Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
Android Apps
https://developers.google.com/fonts/docs/android
https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
License
-------
Please read the full license text (OFL.txt) to understand the permissions,
restrictions and requirements for usage, redistribution, and modification.
You can use them in your products & projects print or digital,
commercial or otherwise.
This isn't legal advice, please consider consulting a lawyer and see the full
license for all details.

Some files were not shown because too many files have changed in this diff Show More