Skip to content

Latest commit

History

History
96 lines (62 loc) 路 5.67 KB

CONTRIBUTING.md

File metadata and controls

96 lines (62 loc) 路 5.67 KB

Contributing

Contributions, issues and feature requests are very welcome. If you are using this package and fixed a bug for yourself, please consider submitting a PR! Also you can ping me at Twitter

Guidelines

If you are planning to submit a pull request, it's very important follow these basic rules:

Commit messages

Commit messages should follow the commit message convention so that changelogs can be automatically generated. Commit messages will be automatically validated upon commit. If you are not familiar with the commit message convention, you can use yarn commit instead of git commit, which provides an interactive CLI for generating proper commit messages.

General guidelines

  • The master branch is basically just a snapshot of the latest stable release. All development should be done in dedicated branch. Do not submit PRs against the master branch.
  • Checkout a topic branch from the relevant branch, e.g. dev, and merge back against that branch.
  • Work in the src folder of respective package and DO NOT checkin dist in the commits.
  • It's OK - and a very nice thing - to have multiple small commits as you work on the PR - we will let GitHub automatically squash it before merging.

If adding a new feature:

  • Make sure that all examples are running as expected
  • Provide convincing reason to add this feature. Ideally you should open a suggestion issue first and have it greenlighted before working on it.

Setup

Pre-requisites

  • Node: ^9.0.0
  • Yarn: ^1.7.0

Install

Check out the code and go into the docz directory:

git clone https://github.com/pedronauck/docz.git
cd docz

Then run yarn install and bootstrap all packages:

$ yarn install
$ yarn bs

After that, just run packages script to format, build and lint all packages:

$ yarn packages

Developing

There's just few things that you need to know to start developing on docz

Project structure

There's a lot of packages that are necessary to run docz, but basically has just two that you need to know more about:

  • This is the core of docz. All build algorithms, server process and parses belongs to here.
  • If you break this package, probably you'll break all packages! Please, be carefull.
  • All cli commands are built here and imported on docz package using ./bin script.
  • Do not create scripts that's running on browser here, only node scripts.
  • Main and top level package.
  • Scripts that's running on browser belongs to this package
  • Built-ins components are built here, most specifically on this folder
  • This package shouldn't have any component style, just boilerplate and logic!

Watching projects

To speed up your develop process:

  • Split your terminal and open each package directory in a separate window.
  • Run yarn dev in each window to run the watch tasks. For example, in this examples directory.

In the above example you're watching docz, docz-core and docz-theme-default and also running docz-example-basic. So any modifications made to any of those packages will reflect in basic example on the fly!

Creating plugins

If there are some plugin that you want to create, please contact me before to talk about the possibility to make this plugin official!

Contributors

Thanks goes to these wonderful people (emoji key):


Pedro Nauck

馃捇 馃摉 馃悰 馃憖

Nicholas Eduardo

馃捇 馃摉 馃悰

Marcelo Piva

馃捇 馃摉 馃悰

Guilherme Jabur

馃捇 馃摉 馃悰