Skip to content

Latest commit

 

History

History
93 lines (80 loc) · 3.98 KB

enhance-coala-quickstart.md

File metadata and controls

93 lines (80 loc) · 3.98 KB
collaborating_projects desc developers_involved difficulty status initiatives issues markdown mentors name requirements tags
coala
Extract useful data from a project's configuration files to build a relevant `.coafile`.
medium
completed
GSoC17
RGSoC
enhance-coala-quickstart.md
adtac
Adrianzatreanu
Enhance coala-quickstart
At least one patch to coala core and coala-quickstart each should be accepted and merged.
The student should be familiar with ongoing technical [cEPs](https://coala.io/cep).
Information Extraction
CLI
CI

coala-quickstart is a tool that helps users to quickly get started with coala. It generates a .coafile (coala's configuration file) that is tailored to the project. Currently, coala-quickstart automatically identifies relevant bears for the project based on the languages used and has a clean and simple command-line interface for taking user’s input when required.

However, there’s scope for improvement in the following areas:

  • Utilizing information from common configuration files: Some projects have configuration files like Gruntfile.js, Gulpfile.js, rakefile, package.json, etc., which may contain useful data that's relevant to coala-quickstart. For example, if a project's Gulpfile.js specifies which files are to be linted with csslint, we could use this information to target CSSLintBear at exactly these files.
  • Improving the interface:
    • Removing non user-friendly warnings.
    • Increasing automation.
    • Validate user input before writing to the generated coafile.
  • Continuous Integration: Like other coala repositories, add Appveyor (Windows) and Travis (OSX) integartions.

Milestones

PREPARATION/BONDING 4th May - 29th May
  • Identified all the kinds of configuration files to be worked on in the project.
  • Figure out all the useful information that could be extracted from these files.
  • Get the cEP coala/cEPs#80 merged.
  • The basic structure of the information extraction system is implemented.
  • Extract information from Gruntfile.js, package.json and Gemfile.
  • CLI: Add autocomplete feature, add prompts for "detect" and "fix" capabilities.
  • Collect and organize bears' metadata.
  • Filter and recommend bears after utilizing extracted information.
CODING PHASE 3: CLI enhancements 28th July - 21st August
  • Validate user input.
  • Fix warning and formattings on the CLI.
  • Continuous Integration.
  • Complete Pending tasks (if any).
  • Implement .editorconfig parser and extract information from .editorconfig
  • Extract information from other meta-files.
  • Smart update of generated .coafile w.r.t. changes in meta-files.
  • Installing required bear-dependencies using cib.