Skip to content

Latest commit

 

History

History
74 lines (56 loc) · 3.06 KB

CONTRIBUTING.md

File metadata and controls

74 lines (56 loc) · 3.06 KB

Triton Contribution Guidelines

Thanks for using Triton and for considering contributing to it!

tl;dr:

  • Triton repos do not use GitHub pull requests (PRs)! You'll be asked to re-submit PRs to Gerrit. See below.
  • Triton repos use both GitHub issues and internal-to-Joyent Jira projects for issue tracking.

Code

The Triton project uses Gerrit at cr.joyent.us for code review of all changes. Any registered GitHub user can submit changes through this system. If you want to contribute a change, please see the Joyent Gerrit user guide. If you're making a substantial change, you probably want to contact developers on the mailing list or IRC first. If you have any trouble with the contribution process, please feel free to contact developers on the mailing list or IRC. Note that larger Triton project changes are typically designed and discussed via "Requests for Discussion (RFDs)".

Triton repositories use the Joyent Engineering Guidelines. Notably:

  • The #master branch should be first-customer-ship (FCS) quality at all times. Don't push anything until it's tested.
  • All repositories should be "make check" clean at all times.
  • All repositories should have tests that run cleanly at all times.

"make check" checks both JavaScript style and lint. Style is checked with jsstyle. The specific style rules are somewhat repo-specific. See the jsstyle configuration file or JSSTYLE_FLAGS in Makefiles in each repo for exceptions to the default jsstyle rules.

Lint is checked with javascriptlint. Repos sometimes have repo-specific lint rules, but this is less common -- look for "tools/jsl.node.conf" for per-repo exceptions to the default rules.

Issues

There are two separate issue trackers that are relevant for Triton code:

Before Triton was open sourced, Joyent engineering used a private JIRA instance. While Joyent continues to use JIRA internally, we also use GitHub issues for tracking -- primarily to allow interaction with those without access to JIRA.