Public | Automated Build

Last pushed: a year ago
Short Description
A Ruby CLI for feature detection
Full Description

<p align="center">
<img src="belugas-linguist.png" height="300px" alt="Belugas"/>


belugas-linguist is an engine used on the Whales ecosystem to detect features, it's based on Github Linguist

Table of contents



The Belugas Ruby CLI is distributed and run as a Docker image, so you only need to have Docker installed and running on your machine.


Fire up your terminal and run:

docker pull icalialabs/belugas-linguist:latest

And that's it!


Here's where the magic begins, first of all in your terminal go to the project directory you want to analyze:

cd code/path_to_project/

The project must be a git project, since linguist gets lots of information from git files. Once in the project, just execute the following command:

docker run \
  --interactive --tty --rm \
  --volume "$PWD":/code \

And voilá! The terminal will stream a json output for each of the features detected in the following format:

  "type": "feature",
  "name": "Ruby",
  "description": "The application uses Ruby code",
  "content": Content,
  "categories": ["Language"],
  "cue_locations": [all_files_from_ruby],
  "engines": ["github-linguist"],
  "meta": {
    "ratio": 0.5
    "total_files": 50
  "type": "feature",
  "name": "CoffeeScript",
  "description": "The application uses Coffee",
  "content": Content,
  "categories": ["Language"],
  "cue_locations": [Location],
  "engines": ["github-linguist", "beluga-coffee"]


Everyone is freely to collaborate, just make sure you follow our code of conduct. Thank you contributors!

Create an Issue

Find a bug and don't know how to fix it? Have trouble following the documentation or have a question about the project? Then by all means, please create an issue.

Just please make sure you check existing issues to see if what you're running into has been addressed already.

Submit a Pull Request

That's great! Just follow this steps:

  1. Create a separate branch for your edits
  2. Make sure your changes doesn't break the project by running your changes against current specs. We love tests! so it'll be even better if you create new ones when needed
  3. Open your pull request against master

Once you've created a pull request, mainteners will chime in to review your proposed changes and to merged it if everything is right :tada:

I want to contribute but don't know where to start

That's great also! We already have some open issues for you to dive in.



belugas-linguist is maintained by Icalia Labs

Docker Pull Command
Source Repository