Provides contribution requirements, contribution guidelines, and onboarding information.
This document explains how to contribute to the Jali project. For an introduction to Jali, see README.md. To understand the design of the Jali project, see DESIGN.md.
-
Install Oracle VirtualBox
-
Install Vagrant
-
Install and configure Chef:
-
Install ChefDK
- For Windows 10, use the Windows 2012r2 x68_64 download
-
Install the Chef vagrant-omnibus Vagrant plugin
vagrant plugin install vagrant-omnibus
-
Install the vagrant-berkshelf Vagrant plugin
vagrant plugin install vagrant-berkshelf
-
On Windows 10 you need to be a part of the
Administrators
group and always runvagrant
from a console as administrator. You possibly can add theSeCreateSymbolicLinkPrivilege
to your account. However your account can't "look" like an admin account or will get a stripped down Windows security token like administrators do but can't "run as administrator". You would have to either disable User Account Control (UAC) or make sure your account does not have any of the restricted privileges. See articleWindows Vista Application Development Requirements for User Account Control Compatibility
section New Technologies for Windows subsectionAccess Token Changes
for more information and a list of restricted privileges. HTThis restriction should soon be lifted.
To add privileges to create simlinks:
- Open a windows security policy editor
- On Windows 10 Professional or Enterprise open
secpol.msc
- On Windows 10 Home download
polsedit
from here and openpolseditx64.exe
- Add your user to
SeCreateSymbolicLinkPrivilege
-
Clone
jali
git clone https://github.com/latticework/jali.git
-
Open a console window (perhaps as Administrator), cd to the project folder and run Vagrant
vagrant up
-
Wait for Vagrant and Chef initializations to complete before using the virtual machine.
-
In the jali VM, cd to
/vagrant
and start developing or use vagrant sshvagrant ssh
-
Initialize
npm
.npm install
-
Build Jali.
npm test
To contribute you must sign the Jali Contributor License Agreement
For non-contributors
and contributors
, Jali issues consist of
Questions
and Ideas
. Only a core-contributor
should create a
Bug
, Enhancement
, or Epic
. Please follow
ISSUE-TEMPLATE-INSTRUCTIONS.md when
creating a Jali issue. It provides detailed instructions and a
systematic decision tree
to determine which issue form you should create.
A core-contributor
will triage Question or Idea issues. A
Question is triaged by either suggesting the user post the question
on StackOverflow or by answering the question. The
question may result in the creation of Bug or Enhancement
issues; or it may simply be closed.
An Idea is triaged by either putting it in the Icebox ZenHub pipeline until more points accumulate or by the creation of Bug or Enhancement issues. It also may simply be closed.
A Bug or Enhancement issue is triaged by moving it to the Icebox or Backlog ZenHub pipeline or by closing it.
The Jali project embraces the use of emoji in GitHub to facilitate communication. The emoji sets are used to identify issue type, commit type, and issue status. These emoji are placed at the end of the issue title in the order Issue Type, Commit Type, Issue Status separated by a single space. Until the issue is triaged only the issue type should be included. If possible, always use the Unicode symbol.
Note: In the future, the emoji will be maintained automatically using a bot such as mary-poppins.
Use the proper commit type emoji. Allowed commit types and the corresponding emoji are listed below. Use the Unicode character, if possible, rather than the GitHub shortcode. You can copy the actual Unicode character by viewing the raw version of this markdown document.
Commit Type Code | GitHub Shortcode | Unicode Emoji |
---|---|---|
feat | :sparkles: |
✨ |
change | :tada: |
🎉 |
fix | :wrench: |
🔧 |
docs | :page_facing_up: |
📄 |
style | :lipstick: |
💄 |
refactor | :triangular_ruler: |
📐 |
perf | N/A | ⏱️ |
test | :microscope: |
🔬 |
chore | :hammer: |
🔨 |
bot | :rocket: |
🚀 |
Feature Category | Code | GitHub Shortcode | Unicode Emoji |
---|---|---|---|
Software Package | various | N/A | 𝍖 |
Documentation | doc | :page_facing_up: |
📄 |
Development Tools | dev | N/A | 🛠️ |
Development Environment | devenv | :hammer: |
🔨 |
Dependency Updates | packages | :package: |
📦 |
Issue Type | GitHub Shortcode | Unicode Emoji |
---|---|---|
Question | :question: |
❓ |
Idea | :bulb: |
💡 |
Bug | :beetle: |
🐞 |
Enhancement | :arrow_forward: |
|
Epic | :clapper: |
🎬 |
Task | :clipboard: |
📋 |
Issue State | GitHub Shortcode | Unicode Emoji |
---|---|---|
New | :gift: |
🎁 |
Icebox | :zzz: |
💤 |
Backlog | N/A | ☰ |
In Progress | :walking: |
🚶 |
Review/QA | N/A | ⚖ |
Done | :white_check_mark: |
✅ |
Canceled | :x: |
❌ |
Removed | :no_entry_sign: |
🚫 |
PR Type | GitHub Shortcode | Unicode Emoji |
---|---|---|
fast-forward | :arrows_clockwise: |
🔃 |
merge | :twisted_rightwards_arrows: |
🔀 |
revert | :leftwards_arrow_with_hook: |
↩️️ |
Reason | Label | Item State | GitHub Shortcode | Unicode Emoji |
---|---|---|---|---|
Committed | zzz-closed_committed | Done | :white_check_mark: |
✅ |
Committed | zzz-closed_committed | Merged | :kiss: |
💋 |
Canceled | zzz-closed_canceled | Canceled | :x: |
❌ |
Removed | zzz-closed_removed | Removed | :no_entry_sign: |
🚫 |
Task Type | GitHub Shortcode | Unicode Emoji |
---|---|---|
Work | :nut_and_bolt: |
🔩 |
Test | :microscope: |
🔬 |
Reason | GitHub Shortcode | Unicode Emoji |
---|---|---|
New | :gift: |
🎁 |
Review/QA | N/A | ⚖ |
Merged | :kiss: |
💋 |
Canceled | :no_entry_sign: |
❌ |
Removed | :no_entry_sign: |
🚫 |