Skip to content
This repository has been archived by the owner on Jan 13, 2025. It is now read-only.

Latest commit

 

History

History
140 lines (110 loc) · 3.55 KB

CONTRIBUTING.md

File metadata and controls

140 lines (110 loc) · 3.55 KB

Contributing to AkiraDocs

Thank you for considering contributing to AkiraDocs! This document will guide you through the contribution process.

📋 Table of Contents

Code of Conduct

This project follows our Code of Conduct. All contributors are expected to uphold these guidelines.

Legal Requirements

Licensing Structure

This project uses a dual-license model:

  1. MIT License

    • Applies to all code NOT in folders named 'enterprise' or prefixed with 'enterprise-'
    • Allows free use, modification, and distribution
    • Your contributions to MIT-licensed portions will be licensed under MIT
  2. Commercial License

    • Applies to all code in folders named 'enterprise' or prefixed with 'enterprise-'
    • Owned by Cloud Code AI Inc.
    • See LICENSE-ENTERPRISE.md for terms
    • Contributions to enterprise portions require additional agreements

Directory Structure:

*/enterprise/* -> Commercial License
*/enterprise-*/* -> Commercial License
All other directories -> MIT License

For licensing questions, contact [email protected]

Contribution License Agreement (CLA)

  • All contributors must sign our CLA at cla-akiradocs
  • We offer Individual CLA
  • The CLA is required regardless of contribution size
  • For corporate contributions, have your legal representative reach out to [email protected]

Getting Started

  1. Fork and Clone

    git clone https://github.com/your-username/akiradocs.git
    cd akiradocs
  2. Setup Environment

    npm install
    npm run dev
  3. Create Branch

    git checkout -b feature/your-feature-name

Development Guidelines

Project Structure

akiradocs/
├── components/     # React components
├── pages/         # Next.js pages
├── styles/        # CSS files
├── lib/           # Utilities
├── public/        # Static assets
└── tests/         # Test files

Coding Standards

TypeScript/React

// Component Example
interface ButtonProps {
  label: string;
  onClick: () => void;
  disabled?: boolean;
}

const Button: React.FC<ButtonProps> = ({ label, onClick, disabled }) => {
  return (
    <button
      onClick={onClick}
      disabled={disabled}
      className="btn-primary"
    >
      {label}
    </button>
  );
};

Style Guidelines

  • Use TypeScript for new components
  • Follow existing code formatting
  • Use Tailwind CSS where possible
  • Write meaningful variable/function names
  • Add comments for complex logic

Contributing Process

  1. Before Starting

    • Check existing issues and PRs
    • Discuss major changes in an issue
    • Ensure CLA is signed
  2. Development

    • Write clear commit messages
    • Add necessary tests
    • Update documentation
    • Follow style guidelines
  3. Pull Request

    • Fill out PR template
    • Link related issues
    • Add screenshots for UI changes
    • Be responsive to review comments

Community and Support

  • Join our Discord
  • Read our Documentation
  • Use GitHub Discussions for questions
  • Report bugs via GitHub Issues

Contributors are recognized in CONTRIBUTORS.md and release notes.