Skip to content

Contributing

Paul van Brenk edited this page Dec 12, 2017 · 18 revisions

🎵Note: This documentation is outdated at this point, especially when using the Node tools in Visual Studio 2017. We're working on update docs, and will redirect you to those when they're ready.

We would love to have you as a contributor to NTVS!

To get started contributing code, please see our CONTRIBUTING.md document

How We Work

Issues

We use issues to track bugs and feature requests. If you would like to contribute to NTVS but are not sure how you can help, start by reviewing the current issue list for a small issue you can address.

Creating New Issues

In order to help us understand and prioritize issues, please use the following guide when opening a new issues:

  • The issue must be actionable (i.e., something can be done to resolve it).
  • Use a descriptive title that identifies the issue to be addressed or the requested feature (e.g., "Feature F should report ABC when XYZ is used in DEF").
  • Provide a detailed description of the issue or request feature.
  • For bug reports, please also:
    • Describe the expected behavior and the actual behavior.
    • Provide example code or steps that reproduce the issue.
    • Specify any relevant exception messages and stack traces.
  • Subscribe to notifications for the created issue in case there are any follow-up questions.

Issue Workflow

  1. Issue/feature is assigned to a developer during triage process. Issues will be sorted into milestones.
  2. The NTVS team and external contributors are expected to work in a local fork and submit code for consideration via a pull-request.
  3. After a pull-request has gone through the review-process and deemed ready, it will be merged directly into the tree.

Issue Categories

Up-for-grabs issues are issues that are confirmed as being in-line with the immediate product roadmap, and are reasonably well-scoped, so you can get started working on them without significant design-work.

🍫 Fun-size issues are like the candy! They consist of issues we've identified as being more approachable for those unfamiliar with the codebase or are potentially less time-consuming. They are perfect if you're just looking for a quick bite (pun intended), or if you're ready to ramp up and explore a new feature area.

Unassigned issues are generally things we are not actively working on, aren't in-line with the immediate product roadmap, or might require a bit more discussion/design before we begin working on them. If you are ever unsure, or are particularly passionate about an already-assigned issue, don't hesitate to reach out.