Skip to content

Latest commit

 

History

History
118 lines (86 loc) · 3.71 KB

File metadata and controls

118 lines (86 loc) · 3.71 KB

Contributing to ORCLPM

Thank you for your interest in contributing to ORCLPM (Odin Raylib Clipboard Manager)! While this project is no longer actively maintained by the original author, community contributions are welcome and appreciated.

Getting Started

  1. Fork the repository on GitHub
  2. Clone your fork locally
  3. Build the project using the instructions in the README
  4. Make your changes on a feature branch
  5. Test thoroughly (both CLI and GUI modes if applicable)
  6. Submit a pull request with a clear description

Development Environment

  • Language: Odin (latest version recommended)
  • GUI Library: Raylib
  • Platform: Currently Windows-only (clipboard API is Windows-specific)
  • IDE: Any text editor (VS Code works well with Odin extensions)

Project Structure

The codebase is organized into logical modules:

  • src/clipboard/ - Windows clipboard API integration
  • src/storage/ - Data persistence (JSON)
  • src/cli/ - Command-line interface
  • src/commands/ - Command processor and feedback system
  • src/gui/ - Raylib GUI implementation
    • components/ - Reusable UI components
    • core/ - Window and app lifecycle
    • entries/ - Clipboard entry rendering
    • overlays/ - Modal overlays and popups
    • state/ - UI state management
  • src/performance/ - Performance monitoring
  • src/utils/ - Shared utilities

See the README and TECHNICAL_SPECIFICATION for detailed documentation.

Areas for Contribution

Here are some ideas if you're looking for where to start:

Bug Fixes 🐛

  • Fix any GUI interaction edge cases
  • Resolve crashes or memory issues
  • Improve error handling

Features ⭐

  • Linux/macOS clipboard support
  • Enhanced search and filtering
  • Keyboard shortcuts
  • Export/import functionality
  • Clipboard format support (images, files, etc.)

Code Quality 🧹

  • Performance optimizations
  • Code documentation
  • Unit tests
  • Refactoring

Documentation 📚

  • Improve inline code comments
  • Create tutorials
  • Add more screenshots/GIFs
  • Platform-specific setup guides
  • API documentation

Coding Guidelines

  • Follow Odin conventions: Use the Odin style guide
  • Keep it simple: Prefer clarity over cleverness
  • Comment complex logic: Help others understand your code
  • Test your changes: Verify both CLI and GUI modes work
  • Be mindful of dependencies: Keep external dependencies minimal

Pull Request Process

  1. Describe your changes clearly in the PR description
  2. Link any related issues if applicable
  3. Test thoroughly - include testing steps in your PR
  4. Keep commits focused - one logical change per commit
  5. Be patient - since this is community-maintained, reviews may take time

Known Issues

Check these resources before working on something:

Testing

  • Test both GUI and CLI modes
  • Verify clipboard capture and retrieval
  • Check command system functionality
  • Test on different Windows versions if possible
  • Verify persistence across restarts

Questions?

  • General questions: Open a GitHub Discussion
  • Bug reports: Open a GitHub Issue with reproduction steps
  • Feature requests: Open a GitHub Issue describing your idea

Code of Conduct

Be respectful, constructive, and welcoming. We're all here to learn and build cool things with Odin!

License

By contributing, you agree that your contributions will be licensed under the MIT License.


Happy coding! 🚀