An AI-powered, software-engineer-themed telling of the night before Christmas, built with Node.js and ready for GitHub Copilot and Dev Containers.
- ๐ค AI-Themed Story: Updated narrative featuring GitHub Copilot agents, MCP tools, and modern AI workflows
- โจ Festive Console Experience: ASCII art, timed animations, and colorful output
- ๐ Easter Eggs: Hidden surprises activated by environment variables
- ๐ Modern GitHub Pages: Glassmorphism UI with responsive design
- ๐บ๏ธ Santa Tracker: Interactive real-time map tracking Santa's journey around the world on Christmas Eve
- ๐ค Christmas Carol Karaoke: Sing along to your favorite Christmas carols with interactive lyrics and fill-in-the-blank gameplay
- ๐ Holiday Spirit Generator: Get jokes, trivia, activity suggestions, and New Year countdown - available in CLI and web!
- ๐ MCP Server: Model Context Protocol server for spreading holiday cheer through AI assistants
- Open this project in VS Code
- Install the "Dev Containers" extension
- Click "Reopen in Container" when prompted
- Run
npm startin the integrated terminal
# Install dependencies
npm install
# Build the project
npm run build
# Run the festive story
npm start
# Run Christmas Carol Karaoke
npm run karaoke
# Holiday Spirit Generator Commands
node dist/index.js joke # Get a random Christmas joke
node dist/index.js trivia # Learn a Christmas trivia fact
node dist/index.js activity # Get a festive activity suggestion
node dist/index.js countdown # See the countdown to New Year's
node dist/index.js help # Show all available commands
# Run tests
npm test
# Run the MCP server
npm run mcpTrack Santa's journey around the world in real-time on Christmas Eve! This interactive feature includes:
- ๐ Interactive Map: Built with Leaflet.js showing Santa's complete route
- ๐ 15 Global Stops: From Tokyo to New York, including the North Pole
- ๐ Real-time Animation: Watch Santa travel from location to location
- ๐ Live Statistics: Track total deliveries and current progress
- ๐จ Festive Details: Fun facts and holiday traditions for each location
- ๐ฎ Interactive Controls: Play, pause, reset, and adjust animation speed
- ๐ฑ Responsive Design: Works beautifully on desktop and mobile devices
- Visit the Christmas Fun GitHub Pages site
- Click the "Track Santa ๐ " button
- Press "Start Journey" to begin the animation
- Click on any marker to see location details and fun facts
- Use speed controls to adjust the animation pace
The Santa Tracker visualizes Santa's journey with:
- ๐ North Pole (start and end)
- ๐ Current location marker
- โ Visited locations
- ๐ Upcoming stops
- โก๏ธ Animated route line
Get into the festive mood with our Holiday Spirit Generator! This shared module powers both the CLI and web interface with fun Christmas content.
- ๐ Christmas Jokes: Tech-themed holiday humor perfect for developers
- ๐ Holiday Trivia: Fascinating facts about Christmas traditions worldwide
- โจ Activity Suggestions: Festive activities with a tech twist
- โฐ New Year Countdown: Real-time countdown to the next year
CLI Version:
# Build the project first
npm run build
# Get a random Christmas joke
node dist/index.js joke
# Learn some Christmas trivia
node dist/index.js trivia
# Get a festive activity suggestion
node dist/index.js activity
# See the countdown to New Year's
node dist/index.js countdown
# Show all available commands
node dist/index.js helpWeb Version:
- Visit the Christmas Fun GitHub Pages site
- Scroll to the "Holiday Spirit Generator" section
- Click any of the interactive buttons:
- Tell Me a Joke - Get a developer-themed Christmas joke
- Share Trivia - Learn interesting Christmas facts
- Suggest Activity - Get a festive activity idea
- Watch the live New Year's countdown update in real-time!
The Holiday Spirit Generator features:
- ๐ Shared Codebase: Same logic powers both CLI and web
- ๐จ Beautiful UI: Glassmorphism cards with smooth animations
- ๐ฑ Responsive Design: Works perfectly on all devices
- โฑ๏ธ Live Updates: Countdown refreshes every second
Sing along to your favorite Christmas carols with an interactive karaoke experience available both in the CLI and on the web!
- ๐ต Sing-Along Mode: Display lyrics line by line with timed animations - perfect for singing along
- ๐ค Karaoke Mode: Interactive fill-in-the-blank gameplay where you guess missing words
- ๐ Score Tracking: Earn points for correct answers and track your accuracy
- ๐ถ Multiple Carols: Choose from popular favorites like "Jingle Bells", "Silent Night", "Deck the Halls", and more
- ๐ฒ Random Selection: Feeling adventurous? Let the system pick a random carol for you
- โก Speed Control: Adjust playback speed to match your singing pace (web only)
- ๐จ Beautiful UI: Glassmorphism design with real-time lyric highlighting on the web
CLI Version:
npm run karaokeSelect your preferred mode:
- Sing-Along Mode - Just enjoy reading the lyrics as they appear
- Karaoke Mode - Fill in the blanks and earn points for correct answers
Web Version:
- Visit the Christmas Fun GitHub Pages site
- Click the "Karaoke ๐ค" button
- Select a carol from the available options
- Toggle between Sing-Along and Karaoke modes
- Press "Start Singing" to begin
- In Karaoke mode, type the missing words when prompted
The karaoke feature includes:
- ๐ต Real-time lyric highlighting
- ๐ฏ Interactive fill-in-the-blank challenges
- ๐ Performance scoring and accuracy tracking
- ๐จ Smooth animations and festive styling
- ๐ฑ Responsive design for all devices
This project includes a festive Model Context Protocol (MCP) server that brings holiday cheer to AI assistants!
- Tools: Get holiday messages and check code quality with Santa's naughty/nice list
- Resources: Access Christmas stories and ASCII art
- Prompts: Generate festive code reviews and commit messages
# Start the MCP server
npm run mcp
# Or use with MCP Inspector
npx @modelcontextprotocol/inspector node dist/src/mcp-server.jsFor detailed MCP server documentation, see src/README.md.
Add to your Claude Desktop configuration:
{
"mcpServers": {
"christmas-fun": {
"command": "node",
"args": ["/absolute/path/to/christmas-fun/dist/src/mcp-server.js"]
}
}
}Discover hidden messages by setting these environment variables:
# Easter Egg #1: Special holiday message
RUN_EASTER_EGG=true npm start
# Easter Egg #3: On-call engineer mode
ONCALL=true npm start
# Easter Egg #5: Custom code coverage
CODE_COVERAGE=100% npm startAdditional random easter eggs may appear during each run! ๐
The story supports multiple languages:
# English (default)
npm start
# Spanish
LANGUAGE=es npm startThis project includes:
.github/copilot-instructions.md- Guidelines for Copilot agents- Modern TypeScript patterns for AI-assisted development
- Test coverage for reliable agent contributions
- Runtime: Node.js 22+
- Language: TypeScript
- Testing: Vitest with coverage
- Styling: Chalk for console colors
- CI/CD: GitHub Actions
- Docs: GitHub Pages with modern CSS
Contributions are welcome! Please ensure your changes:
- Pass all existing tests (
npm test) - Follow the established code style
- Maintain the festive spirit ๐
To create a new release:
-
Create and push a version tag:
git tag v1.0.0 git push origin v1.0.0
-
The
create-releaseworkflow will automatically:- Validate the tag exists in the repository
- Run Release Drafter to generate/publish release notes
- Build and push Docker images to GitHub Container Registry with the version tag and
latest - Add release notes to the Docker image description
-
Manual workflow run (optional):
- Navigate to Actions โ "create release" workflow
- Click "Run workflow"
- Optionally provide a custom version/tag
- This is useful for testing or re-running a release
Note: Version tags should follow semantic versioning (e.g., v1.0.0, v2.1.3)
May your agents be smart and your builds be serene!
Happy Holidays 2025! ๐ โจ