GEMNASIUM

or

"how to deal with
dependencies?"

Compiegne.rb - 2012-12-20

Olivier Gonzalez / Tech-Angels / gonzoyumo

What is Gemnasium?


Gemnasium is a dependencies tracking system (SaaS) that keeps you up to date on the packages
that matter to you.



https://gemnasium.com



Why?

For developers, tracking dependencies can be a painful thing but it's a necessary duty.

  • few projects => few dependencies => easy
  • lots of projects => lots of dependencies => nightmare

Save your time dealing with dependencies.
Stay focused on your work.

Which languages?

For now Gemnasium only support
ruby dependencies (Rubygems).

Already working on Node.js support.

Tomorrow: Python, PHP, etc.

HOW?

Gemnasium parses your project's dependency files, learns them and track package updates with available providers:



Gemnasium then assigns a color to your dependencies and projects according to their freshness and notifies you when new versions are released.

Colors

  • GREEN: Up to date with latest version.
  • YELLOW: Newer package version(s) exist.
  • RED: Behind important update(s) or security fix(es).
It refreshes on package update or project dependency files update.
Security and important updates are flagged by Gemnasium's watchmen.

PROJECT'S STATUS BADGES

Project color matches its worst dependency's color.
Easy copy/paste popover for various languages:

GitHub Integration

  • Login with GitHub (OAuth)
  • Fetch your profiles and projects automatically
  • Fully support organizations
  • Sync project when pushing commit (using Gemnasium github-service hook)
  • Daily profile synchronizations
  • On demand profile and project synchronizations

Notifications

What would be all that work for without a clean notification system?

We wanted it highly tweakable and easy to use.

Broken down into two parts:
  • personal settings
  • profile wide settings (hooks)

Personal Notifications

Per project and per package toggles, at user level.

Hooks

You can setup hooks for a whole profile.
Currently support Email and Campfire hooks.

Adjustable frequency

Never, Real-time, Daily, Weekly
Choose the one that best suits your needs.
(also available for Email hooks)

How does it looks like? (1)

Realtime email notification:

How does it looks like? (2)

Realtime campfire notification:

What's next?

  • Offline projects support (to cope with privacy)
  • More settings to tune projects (branch, gemfiles paths)
  • More supported languages
  • More content about new versions
  • Shhhhhh... it's a secret...