Files
Sankofa/docs/CONTRIBUTING.md
defiQUG 4952ecf453 Update documentation with last updated dates and improve navigation indexes
- Added "Last Updated" date to multiple documentation files for better tracking.
- Enhanced the README with quick navigation indexes for guides, references, and architecture documentation.
- Updated titles in Keycloak deployment and testing guide for consistency.
2025-12-12 19:51:48 -08:00

2.1 KiB

Contributing to Sankofa

Last Updated: 2025-01-09

Thank you for your interest in contributing to Sankofa! This document provides guidelines and instructions for contributing to the Sankofa ecosystem and Sankofa Phoenix cloud platform.

Code of Conduct

  • Be respectful and inclusive
  • Welcome newcomers and help them learn
  • Focus on constructive feedback
  • Respect different viewpoints and experiences

Getting Started

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/yourusername/Sankofa.git
  3. Create a branch: git checkout -b feature/your-feature-name
  4. Make your changes
  5. Commit your changes: git commit -m "Add your feature"
  6. Push to your fork: git push origin feature/your-feature-name
  7. Open a Pull Request

Development Setup

See DEVELOPMENT.md for detailed setup instructions.

Pull Request Process

  1. Ensure your code follows the project's style guidelines
  2. Add tests for new features
  3. Ensure all tests pass: pnpm test
  4. Update documentation as needed
  5. Ensure your branch is up to date with the main branch
  6. Submit your PR with a clear description

Coding Standards

TypeScript/JavaScript

  • Use TypeScript for all new code
  • Follow the existing code style
  • Use meaningful variable and function names
  • Add JSDoc comments for public APIs
  • Avoid any types - use proper typing

React Components

  • Use functional components with hooks
  • Keep components small and focused
  • Extract reusable logic into custom hooks
  • Use proper prop types or TypeScript interfaces

Git Commits

  • Use clear, descriptive commit messages
  • Follow conventional commits format when possible
  • Keep commits focused on a single change

Testing

  • Write tests for all new features
  • Ensure existing tests still pass
  • Aim for >80% code coverage
  • Test both success and error cases

Documentation

  • Update README.md if needed
  • Add JSDoc comments for new functions
  • Update API documentation for backend changes
  • Keep architecture docs up to date

Questions?

Feel free to open an issue for questions or reach out to the maintainers.