Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Buidler to list of dev tools in build section. #42

Merged
merged 3 commits into from
May 13, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions docs/build/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,6 @@ Any program that runs on the Ethereum Virtual Machine (EVM) is commonly referred

Ethereum has a large and growing number of tools to help developers build, test, and deploy their applications. Below are the most popular tools to get you started. If you want to dive deeper, check out this [comprehensive list](https://github.com/ConsenSys/ethereum-developer-tools-list).

**Frameworks**

### Truffle *A development environment, testing framework, build pipeline, and other tools.*
- [truffleframework.com](https://truffleframework.com/)
- [Github](https://github.com/trufflesuite/truffle)
Expand All @@ -60,14 +58,18 @@ Ethereum has a large and growing number of tools to help developers build, test,
- [Github](https://github.com/embark-framework/embark)
- [Documentation](https://embark.status.im/docs/)

### Waffle *Framework for advanced smart contract development and testing (based on ethers.js).*
### Waffle *A framework for advanced smart contract development and testing (based on ethers.js).*
- [getwaffle.io](https://getwaffle.io/)
- [Github](https://github.com/EthWorks/Waffle)

### Etherlime *Ethers.js based framework for dapp development (Solidity & Vyper), deployment, debugging, testing and more.*
- [Docs](https://etherlime.readthedocs.io/en/latest/)
- [Github](https://github.com/LimeChain/etherlime)

### Buidler *A task runner for Ethereum smart contract developers*
- [buidler.dev](https://buidler.dev)
- [Github](https://github.com/nomiclabs/buidler)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lines 67 to 71 should be moved above line 64, or is Buidler not a developer tool?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is, and the way I see it this is the structure I proposed:

Developer tools
    Frameworks
        Truffle
        Embark
        Waffle

    Workflow automation
        Buidler

Buidler is a task runner, not a development or testing framework, so I added a new category under Developer tools, same hierarchy level as Frameworks. I wasn't sure where else to put it.

What do you suggest?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right. Actually the issue is that the Frameworks formatting is wrong.
image

IMO 'frameworks' which is probably one of the vaguest words in all of software should just be removed, and Buidler inserted under Developer tools so that we have:

Developer tools
        Truffle
        Embark
        Waffle
        Buidler

What do you think?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree 100% about "frameworks", but I think the original intention was to have "Developer tools" as the top level category for all the developer tools, and then have more detailed categories inside. Maybe we could repeat the tools across several categories to communicate more precisely what they're good for? like

Developer tools
    Testing libraries
        Waffle
        Truffle
        Embark
    Dapp development
        Embark
    Workflow automation
        Buidler
    Deployment
        Etherlime
        Truffle
        Embark
        Buidler
     Linters
          Solhint

I know that with the huge amount of features some of these tools have they'll be repeated a lot, but while redundant this feels like much better orientation for someone who's never used any of them.

What do you think? I'm also not against doing just one list without categories but I don't think that will last very long as all the dev tools are added

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At this point, I don't want to list things multiple times, or worry about how to design for another level of headings.

Going with the simplest solution for now.

### Looking for other options?
- [Ethereum Developer Tools List #Frameworks](https://github.com/ConsenSys/ethereum-developer-tools-list#frameworks)

Expand Down