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.
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:
Haz un fork a tu propio repositorio.
Clona tu fork a un repositorio local.
Crea una nueva rama y trabaja en ella.
Mantén tu rama sincronizada.
Confirma tus cambios. Asegúrate de que tu mensaje de confirmación sea conciso.
Empuja tus confirmaciones a tu repositorio bifurcado.
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:
Los títulos de PR deben estar en minúsculas.
fix: un commit del tipo
fix
corrige un error en tu base de código.fix: prevent racing of requests
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
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.
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.