## Contributing

Contributions to Concierge are always welcome!

### Mailing List

A great way to stay up to date with Concierge activity is to subscribe to the Concierge email list provided by Eclipse. Sign up for the mailing list [here](https://dev.eclipse.org/mailman/listinfo/concierge-dev).

### Issue Tracker

Issues and bugs related to Concierge are tracked with the Eclipse Bugzilla tracking system. Please enter any issues you find [there](https://bugs.eclipse.org/bugs/buglist.cgi?component=core&list_id=9301172&product=Concierge).

### Contributing

If you want to contribute code to the Concierge project via Git, follow the [Eclipse contribution process](https://wiki.eclipse.org/Development_Resources/Contributing_via_Git).  



