Skip to content

๐Ÿ Turn your GitHub contributions into an animated snake that devours them! CLI + GitHub Action. PvP mode coming soon!

License

Notifications You must be signed in to change notification settings

miccy/snake-evolution

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Snake Evolution

๐Ÿ Snake Evolution

Turn your GitHub contributions into an animated snake that devours them!

Stars npm downloads release License CI

Quick Start โ€ข Themes โ€ข GitHub Action โ€ข CLI โ€ข PvP Mode


Snake eating contributions


โšก Quick Start

Using npx (zero-install):

npx @snake-evolution/cli@latest generate -u YOUR_USERNAME

Using GitHub Action:

See ๐Ÿค– GitHub Action section below.

Local development:

git clone https://github.com/miccy/snake-evolution.git
cd snake-evolution
bun install
npx @snake-evolution/cli generate -u YOUR_USERNAME -o snake.svg

โœจ Why Snake Evolution?

  • ๐ŸŽจ 6 Beautiful Themes - Match your profile's aesthetic (Glass arrives with GIF support)
  • ๐Ÿง  Smart Pathfinding - Snake hunts high-value contributions first
  • โšก Zero-Install CLI - npx @snake-evolution/cli@latest - no setup needed
  • ๐Ÿค– GitHub Action - Automated daily updates
  • ๐Ÿ“ฆ Full Monorepo - Engine, renderer, and themes are separate packages
  • ๐ŸŽฏ Production Ready - Used by developers worldwide

๐ŸŽจ Showcase

Explore all available themes:

![GitHub Dark Theme](./assets/examples/github-dark.svg)
<!-- slide -->
![Ocean Theme](./assets/examples/ocean.svg)
<!-- slide -->
![Sunset Theme](./assets/examples/sunset.svg)
<!-- slide -->
![Neon Gamer Theme](./assets/examples/neon-gamer.svg)
<!-- slide -->
![CypherPunk Theme](./assets/examples/cypherpunk.svg)

Real-world examples:

  • ๐Ÿ’ผ Portfolio README animations
  • ๐Ÿ“š Documentation sites with contribution graphs
  • ๐ŸŽค Conference presentation slides
  • โœ๏ธ Technical articles and blog posts

๐ŸŽจ Themes

๐ŸŒ‘ GitHub Dark (Default)

GitHub Dark

โ˜€๏ธ GitHub Light

GitHub Light

๐ŸŒŠ Ocean

Ocean

๐ŸŒ… Sunset

Sunset

๐ŸŽฎ Neon Gamer

Neon Gamer

๐Ÿ”ต Cypherpunk

Cypherpunk

๐ŸงŠ Glass (Coming Soon)

GIF rendering is still in progress. The Glass theme will unlock once GIF output is available.


๐Ÿค– GitHub Action

Add to your profile README repository:

.github/workflows/snake.yml

name: Generate Snake

on:
  schedule:
    - cron: "0 0 * * *" # Daily
  workflow_dispatch:
  push:
    branches: [main]

jobs:
  generate:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - uses: actions/checkout@v4

      - uses: miccy/snake-evolution@v1
        with:
          github_user_name: ${{ github.repository_owner }}
          outputs: |
            dist/snake.svg
            dist/snake-dark.svg?palette=github-dark
            # dist/snake.gif?palette=ocean&format=gif  # โš ๏ธ GIF support pending
          theme: github-dark

      - name: Commit and Push
        run: |
          git config user.name "github-actions[bot]"
          git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
          git add dist/*.svg
          git diff --staged --quiet || git commit -m "๐Ÿ Update snake"
          git push

Then in your README.md:

![Snake](./dist/snake.svg)

Outputs input: You can provide multiple outputs separated by commas or new lines. Each entry is written inside github.workspace and can optionally include query params for per-output overrides, e.g. dist/snake.svg?palette=ocean&format=svg.


๐Ÿ’ป CLI

npm version npm downloads

Zero-Install (Recommended)

No installation required! Use npx or bunx:

# Using npx
npx @snake-evolution/cli@latest generate -u YOUR_USERNAME

# Using bunx (faster)
bunx @snake-evolution/cli@latest generate -u YOUR_USERNAME

# With custom options
npx @snake-evolution/cli@latest generate -u YOUR_USERNAME -t ocean -o snake.svg

Global Installation

# Using npm
npm install -g @snake-evolution/cli

# Using bun
bun add -g @snake-evolution/cli

# Then use anywhere
snake generate -u YOUR_USERNAME
snake themes  # List available themes

Local Project

npm install @snake-evolution/cli
# or
bun add @snake-evolution/cli

Options

Option Description Default
-u, --username GitHub username required
-o, --output Output file path snake.svg
-t, --theme Color theme github-dark
-f, --format Output format (svg only; GIF not supported yet) svg
-y, --year Year to generate current
--static Static SVG (final frame with snake) false

โ„น๏ธ GIF output is not available yet. The CLI will stop with a clear error if you request --format gif or the Glass theme.


๐ŸŽฎ Coming Soon: PvP Mode

Coming Soon

Challenge your friends to snake battles!

  • ๐Ÿ† Leaderboards - Global rankings
  • โš”๏ธ 1v1 Challenges - Battle friends
  • ๐Ÿ‘ฅ Team Battles - Company vs company
  • โšก Power-ups - Shrink, teleport, shield
  • ๐Ÿ“ˆ Progressive rounds - Gets faster each level!

๐Ÿ“ View Roadmap โ†’


๐Ÿ—๏ธ Development

git clone https://github.com/miccy/snake-evolution.git
cd snake-evolution
bun install
bun run generate -u YOUR_USERNAME -o test.svg

๐Ÿค Contributing

We love contributions! See CONTRIBUTING.md


๐Ÿ’– Support

Sponsor

If you find this useful:

  • โญ Star this repo - It helps a lot!
  • ๐Ÿฆ Share on Twitter/X - Spread the word
  • ๐Ÿ’ฌ Join Discussions - Ideas and feedback

๐Ÿ“„ License

MIT ยฉ Miccy

Original snake concept by Platane ๐Ÿ™


Star

Built with ๐Ÿ by @miccy

About

๐Ÿ Turn your GitHub contributions into an animated snake that devours them! CLI + GitHub Action. PvP mode coming soon!

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 3

  •  
  •  
  •