Files
Sankofa/docs/CONTRIBUTING.md
defiQUG 6f28146ac3 Initial Phoenix Sankofa Cloud setup
- Complete project structure with Next.js frontend
- GraphQL API backend with Apollo Server
- Portal application with NextAuth
- Crossplane Proxmox provider
- GitOps configurations
- CI/CD pipelines
- Testing infrastructure (Vitest, Jest, Go tests)
- Error handling and monitoring
- Security hardening
- UI component library
- Documentation
2025-11-28 12:54:33 -08:00

2.0 KiB

Contributing to Phoenix Sankofa Cloud

Thank you for your interest in contributing to Phoenix Sankofa Cloud! This document provides guidelines and instructions for contributing.

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.