CFL Wiki

Chico Fab Lab Documentation

This folder contains project documentation for developers and contributors.

๐Ÿ“š Documentation Index

Quick Start

Core Documentation

Interactive Features (NEW!)

Technical Debt

๐ŸŽฎ Quick Feature Overview

Sound Effects (CFL.sounds)

Every button click triggers contextual sounds. Rainbow buttons play magical chimes, bouncy buttons go โ€œboingโ€, neon buttons zap, etc.

CFL.sounds.magic();     // Ascending arpeggio
CFL.sounds.boing();     // Springy bounce
CFL.sounds.coin();      // Retro pickup sound
CFL.sounds.eldritch();  // Ominous drone

Achievement System (CFL.achievements)

16 unlockable achievements track user interactions. Toast notifications appear on unlock.

CFL.achievements.unlock('first-click');  // Manually unlock
CFL.achievements.getStats();             // { clicks: 42, pages: [...] }

Easter Eggs

๐Ÿ› ๏ธ Development

Local Setup

# Install Jekyll (if not installed)
gem install bundler jekyll

# Serve locally
jekyll serve

File Structure

chicofablab.github.io/
โ”œโ”€โ”€ _includes/components/  # Reusable UI components
โ”œโ”€โ”€ _layouts/
โ”‚   โ””โ”€โ”€ default.html       # Main template + ALL JavaScript
โ”œโ”€โ”€ _wiki/
โ”‚   โ”œโ”€โ”€ component-showcase.mkd  # Live component examples
โ”‚   โ”œโ”€โ”€ button-playground.mkd   # Interactive button builder
โ”‚   โ”œโ”€โ”€ void.mkd                # Eldritch corruption page
โ”‚   โ””โ”€โ”€ ...
โ”œโ”€โ”€ assets/
โ”‚   โ””โ”€โ”€ css/main.css       # Main stylesheet (includes fun buttons)
โ”œโ”€โ”€ docs/                  # This folder
โ”‚   โ”œโ”€โ”€ README.md          # This file
โ”‚   โ”œโ”€โ”€ SOUND-SYSTEM.md    # Sound effects documentation
โ”‚   โ”œโ”€โ”€ ACHIEVEMENTS.md    # Achievement system documentation
โ”‚   โ”œโ”€โ”€ FUN-BUTTONS.md     # Fun button styles reference
โ”‚   โ”œโ”€โ”€ EASTER-EGGS.md     # Secrets and hidden features
โ”‚   โ”œโ”€โ”€ THE-VOID.md        # Void/corruption documentation
โ”‚   โ”œโ”€โ”€ BUTTON-PLAYGROUND.md
โ”‚   โ””โ”€โ”€ technical-debt/    # Technical debt tracking
โ”‚       โ”œโ”€โ”€ README.md
โ”‚       โ”œโ”€โ”€ css-modularization.md
โ”‚       โ”œโ”€โ”€ javascript-extraction.md
โ”‚       โ””โ”€โ”€ font-loading.md
โ””โ”€โ”€ index.html

Key Implementation Details

  1. All JavaScript lives in _layouts/default.html - No external JS files
  2. All CSS lives in assets/css/main.css - Single stylesheet
  3. LocalStorage keys use cfl prefix (e.g., cflAchievements, cflSoundsEnabled)
  4. Animations respect prefers-reduced-motion media query

๐ŸŽฏ Work Efforts

This project uses the Johnny Decimal system for tracking work efforts, integrated with MCP (Model Context Protocol) tools.

Structure

Work efforts are organized in _work_efforts/ using the Johnny Decimal system:

Using MCP Tools

The project integrates with MCP tools for managing work efforts:

Documentation