# Contribuciones

Te agradecemos que quieras colaborar contribuyendo a Consul Democracy. Aquí tienes una guía donde consultar cómo sugerir cambios y mejoras al proyecto.

## Reportar un issue

Si has visto algún error en la plataforma o directamente en el código, te animamos a [abrir un issue en el repositorio en Github de Consul Democracy](https://github.com/consuldemocracy/consuldemocracy/issues/new).

Antes de hacerlo, **por favor tómate un tiempo para comprobar los [issues ya existentes](https://github.com/consuldemocracy/consuldemocracy/issues) y asegúrate de que lo que estás a punto de reportar no ha sido reportado previamente** por otra persona. De ser así, si tienes más detalles acerca de la incidencia puedes escribir un comentario en la página del issue ‑¡un poco de ayuda puede marcar una gran diferencia!

Para escribir un nuevo issue, ten en cuenta estas recomendaciones para hacerlo más fácil de leer y comprender:

- Intenta usar un título descriptivo.
- Es buena idea incluir algunas secciones -en caso de que sean necesarias- como los pasos para reproducir el error, el comportamiento o respuesta que cabría esperar, la respuesta que devuelve o capturas de pantalla.
- También puede ser de ayuda incluir en la descripción tu sistema operativo, versión del navegador que usaste y posibles plugins instalados.

## Resolver un issue

[Los issues en Consul Democracy](https://github.com/consuldemocracy/consuldemocracy/issues) con la etiqueta `PRs-welcome` son funcionalidades bien definidas que están listas para ser implementadas por cualquiera que se ofrezca a ello. Por otra parte, la etiqueta `not-ready` indica las funcionalidades o cambios que aún están pendientes de concretar, por lo que recomendamos no intentar resolverlos hasta que los/as administradores/as lleguen a una resolución.

Te sugerimos seguir los siguientes pasos para facilitar el seguimiento de los cambios que vayas a hacer:

- Primero, añade un comentario en el issue para notificar que vas resolverlo. Si el issue tiene a alguien asignado significa que ya hay alguien encargado de él.
- Crea un fork del proyecto.
- Crea una rama de funcionalidad basada en la rama `master`. Para identificarla más fácilmente, puedes nombrarla con el número del issue seguido de un nombre conciso y descriptivo (por ejemplo: `123-fix_proposals_link`).
- Desarrolla los cambios haciendo commits en tu nueva rama.
- Asegúrate de que todos los tests pasan. Si estás extendiendo una funcionalidad o creando una nueva, considera añadir sus propios tests.
- Cuando hayas terminado, envía un **pull request** al [repositorio de Consul Democracy](https://github.com/consuldemocracy/consuldemocracy/) describiendo la solución que propones para ayudarnos a entenderlo. También es importante que especifiques qué issue estás resolviendo al principio de la descripción del PR (por ejemplo, `Fixes #123`).
- El equipo de Consul Democracy revisará tu PR y podrá sugerir cambios si son necesarios. Una vez esté todo bien, tus cambios serán introducidos en el proyecto :)

> **¿Es tu primer Pull Request?** Puedes aprender cómo contribuir a un proyecto en Github siguiendo los tutoriales [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github) (en inglés).

## Otras formas de contribuir

Agradecemos cualquier tipo de contribución a Consul Democracy. Incluso si no puedes contribuir al código del proyecto, puedes:

- Crear issues sobre cualquier problema o error que hayas encontrado.
- Ayudar a traducir la plataforma a otros idiomas que domines en el proyecto de [Consul Democracy en Crowdin](https://crwd.in/consul).
- Ayudar con la [documentación de Consul Democracy](https://github.com/consuldemocracy/docs).
