Saltar al contenido principal

Guía del Colaborador

¡Bienvenido a Casdoor! Este documento sirve como una guía sobre cómo contribuir a Casdoor.

Si encuentras alguna información incorrecta o faltante, por favor deja tus comentarios o sugerencias.

Participa

Hay muchas maneras de contribuir a Casdoor. Aquí hay algunas ideas para empezar:

  • Usa Casdoor e informa de problemas. Al usar Casdoor, informa de cualquier problema - ya sean errores o propuestas - en GitHub Discussions o en Discord antes de presentar un problema en GitHub.
información

Por favor, usa el inglés para describir los detalles de tu problema al informar de un problema.

  • Ayuda con la documentación. Comenzar tu trabajo de contribución con la documentación es una buena elección.

  • Ayuda a resolver problemas. Tenemos una tabla que contiene tareas fáciles adecuadas para principiantes en Casdoor Easy Tasks, con diferentes niveles de desafíos etiquetados con diferentes etiquetas.

Contribuyendo

Si estás listo para crear un PR, aquí está el flujo de trabajo para los colaboradores:

  1. Haz un fork a tu propio repositorio.

  2. Clona tu fork a un repositorio local.

  3. Crea una nueva rama y trabaja en ella.

  4. Mantén tu rama sincronizada.

  5. Confirma tus cambios. Asegúrate de que tu mensaje de confirmación sea conciso.

  6. Empuja tus confirmaciones a tu repositorio bifurcado.

  7. Crea una solicitud de extracción desde tu rama a nuestra rama master.

Solicitudes de Extracción

Antes de Empezar

Casdoor utiliza GitHub como su plataforma de desarrollo, y las solicitudes de extracción son la principal fuente de contribuciones.

Aquí hay algunas cosas que necesitas saber antes de abrir una solicitud de extracción:

  • Necesitas firmar el CLA cuando creas una solicitud de extracción por primera vez.

  • Explica por qué estás enviando la solicitud de extracción y qué hará en el repositorio.

  • Solo se permite un commit. Si el PR hace más de una cosa, por favor divídelo.

  • Si hay archivos recién añadidos, por favor incluye la licencia de Casdoor en la parte superior de los nuevos archivos.

// Copyright 2022 The Casdoor Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

PRs Semánticos

Tus solicitudes de extracción deben seguir la especificación de Conventional Commits. El requisito básico es que solo el título del PR o al menos un mensaje de commit. Por ejemplo, a continuación se dan tres títulos de PR comúnmente utilizados:

precaución

Los títulos de PR deben estar en minúsculas.

  1. fix: un commit del tipo fix corrige un error en tu base de código.

    fix: prevent racing of requests
  2. feat: un commit del tipo feat introduce una nueva característica en la base de código.

    feat: allow provided config object to extend other configs
  3. docs: un commit del tipo docs añade o mejora la documentación.

    docs: correct spelling of CHANGELOG

Para más detalles, por favor consulta la página de Conventional Commits.

Vinculando PRs con Problemas

Puedes vincular una solicitud de extracción a un problema para mostrar que se está trabajando en una solución y para cerrar automáticamente el problema cuando se fusione la solicitud de extracción.

Vinculando una Solicitud de Extracción a un Problema Usando una Palabra Clave

Puedes vincular una solicitud de extracción a un problema utilizando una palabra clave compatible en la descripción de la solicitud de extracción o en un mensaje de commit. La solicitud de extracción debe estar en la rama predeterminada.

  • close
  • fix
  • resolve

Un problema en el mismo repositorio, por ejemplo:

Fix: #902

Para más detalles, por favor consulta Vinculando una Solicitud de Extracción a un Problema.

Modificando PRs

Tu PR puede necesitar revisión. Por favor, modifica el mismo PR cuando el código necesite cambios; no cierres el PR y abras uno nuevo. Aquí hay un ejemplo:

  • Modifica el código en tu local.

  • Modifica tu commit.

git commit --amend
  • Empuja a tu repositorio remoto.
git push --force

¡Entonces, habrás modificado con éxito el PR!

Relacionado con el Código

Algunos Principios:

  • Legibilidad: el código importante debe estar bien documentado. El estilo de código debe cumplir con el existente.

Convención de Nombres

Por ejemplo, signupUrl para nombres de variables, Signup URL para UI.

¿Cómo Actualizar Datos i18n?

Ten en cuenta que usamos Crowdin como plataforma de traducción y i18next como herramienta de traducción. Cuando añadas cadenas usando i18next en el directorio web/, puedes ejecutar i18n/generate_test.go para generar automáticamente web/src/locales/**/data.json.

Ejecuta i18n/generate_test.go:

cd i18n && go test

Todos los idiomas se completan en inglés por defecto. Después de que tu PR haya sido fusionado, te animamos a ayudar a traducir las cadenas recién añadidas en web/src/locales/zh/data.json por Crowdin.

precaución

Si no estás familiarizado con un idioma, por favor no lo traduzcas; mantén el archivo tal como está.

Licencia

Al contribuir a Casdoor, aceptas que tus contribuciones estarán licenciadas bajo la Licencia Apache.