Skip to content

Commit

Permalink
Merge pull request #83 from protofire/feature/update-github-io
Browse files Browse the repository at this point in the history
Update github.io static page
  • Loading branch information
mariano-aguero committed Dec 6, 2018
2 parents fa15d18 + eca42b6 commit a293692
Show file tree
Hide file tree
Showing 3 changed files with 106 additions and 2 deletions.
81 changes: 81 additions & 0 deletions docs/contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
Contributing to Solhint
=======================

_Thanks for considering contributing to Solhint!_

The following is a set of guidelines for contributions. Feel free to suggest
improvements to this document in a pull request.

Issues and feature requests
---------------------------

If you have any issues to report or features to request, please use the
[issue tracker](https://github.com/protofire/solhint/issues).

Development
-----------

### Requirements

In order to develop Solhint, you'll need:

- [Git](https://git-scm.com/)
- [Node.js](https://nodejs.org/)

### Getting Started

Clone this repository and install npm dependencies:

$ git clone git@github.com:protofire/solhint.git
$ cd solhint
$ npm install

### Testing changes without re-installing

Since `solhint` is a CLI tool, the best way to test new changes immediately
after they are done is to globally link the module. Go to the repository and
run:

$ npm link

This will create a symbolic link to `solhint`'s directory. Any changes you make
will be available when you use `solhint` in any terminal.

### Running tests

If you make changes to the existing code, please make sure that all tests are
passing. If you contribute with a new feature, please add tests for it. To run the tests:

$ npm test

Grammar modifications
---------------------

Solhint uses [ANTLR4](http://www.antlr.org/) to generate the Solidity parser.
The grammar description is taken from
[solidity-antlr4](https://github.com/solidityj/solidity-antlr4). If there is
some language feature that Solhint doesn't support, the first step is to check
if the `Solidity.g4` fil is out of sync with the one in that repo. If that's the
case, the steps to update it are:

1. Copy the `Solidity.g4` file and replace the one in this repo
(`lib/grammar/Solidity.g4`).
2. From the root of the project, execute `scripts/build-grammar.sh`. You will
need to have the Java Runtime Environment (7 or later) installed for this to
work.

Pull Requests
-------------

All code changes happen through pull requests. To create one:

1. Fork the repo and create your branch from `master`.
2. Make the changes you want to do.
3. Ensure the tests are still passing. Please remember to add tests for new features.
4. Create the pull request.


License
-------

By contributing, you agree that your contributions will be licensed under its MIT License.
4 changes: 2 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,8 @@ See EsLint docs about formatters [here](https://eslint.org/docs/user-guide/forma

### Table of Contents

* [Roadmap](../ROADMAP.md): The core project's roadmap - what the core team is looking to work on in the near future.
* [Contributing](../CONTRIBUTING.md): The core Solhint team :heart: contributions. This describes how you can contribute to the Solhint Project.
* [Roadmap](./roadmap.html): The core project's roadmap - what the core team is looking to work on in the near future.
* [Contributing](./contributing.html): The core Solhint team :heart: contributions. This describes how you can contribute to the Solhint Project.

### IDE Integrations

Expand Down
23 changes: 23 additions & 0 deletions docs/roadmap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Roadmap

An overview of what the core Solhint team is looking to work on over the next few months.

As a caveat - this is a living doc, and will evolve as priorities grow and shift. The Solhint project will always be adapting to new use-cases and evolutions in the blockchain world - this roadmap is more of a "North Star" of what we're looking to work on than a strict timeline.

Please feel free to fill issues on this repository if you have questions, concerns, or suggestions.


## What's next?

So, what will that new chapter hold? We see a few major themes...

This is our next releases plan:

- 1.4.0 [released on Oct 10, 2018]
- Support prettier-solidity [#72]
- 2.0.0
- Switch from Blacklisting to Rulesets + Whitelisting [#73]
- Plugins support [#70]
- Support prettier-solidity as a plugin
- 2.1.0
- Separate core library from CLI app [#69]

0 comments on commit a293692

Please sign in to comment.