Contributing to Mylyn Tasks
===========================

Thanks for your interest in this project.

Mylyn Project description:
--------------------

Mylyn is a Task-Focused Interface for Eclipse that reduces information overload and makes multi-tasking easy.

- https://projects.eclipse.org/projects/mylyn

Mylyn Tasks Sub-Project description:
--------------------

Integration with Agile, issue, bug and defect tracking servers. The project provides rich task editing, task list management and offline synchronization for ALM servers. Central portion of the ALM integration framework used by other projects, eg, task-based changed tracking for the SCM project.

Developer resources:
--------------------

Information regarding source code management, builds, coding standards, and more.

- http://wiki.eclipse.org/index.php/Mylyn_Contributor_Reference
- https://projects.eclipse.org/projects/mylyn/developer

Contributor License Agreement:
------------------------------

Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).

- http://www.eclipse.org/legal/CLA.php

Contact:
--------

Contact the project developers via the project's "dev" list.

- https://dev.eclipse.org/mailman/listinfo/mylyn-dev

Search for bugs:
----------------

This project uses Bugzilla to track ongoing development and issues.

- https://bugs.eclipse.org/bugs/buglist.cgi?product=Mylyn Tasks

Create a new bug:
-----------------

Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!

- https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Mylyn Tasks
