๐Ÿ™Œ Welcome!

Thank you for your interest in contributing to Text Forge. This guide is here to help you get started and make your contributions smooth, meaningful, and aligned with the projectโ€™s vision.


๐Ÿ› ๏ธ Types of Contributions

  • Reporting bugs or issues
  • Proposing and implementing new features
  • Creating or improving modes
  • Writing or extending action scripts
  • Improving code or documentation
  • Designing and refining UI/UX
  • Building or updating modular plugins
  • Contributing in Projects
  • Accepting responsibility for issues labeled help wanted or good first issue
  • Create Themes
  • Anything here!!

๐Ÿ“‹ Before You Begin

Before opening an issue or submitting a pull request:

  • Make sure a similar issue hasn't already been reported
  • Consider whether the contribution aligns with the projectโ€™s philosophy
  • Review the documentation and project structure

๐Ÿ”€ How to Submit a Pull Request

  1. Fork the Main branch
  2. If your work is related to an issue, write a note in that issue and say you will work on it, it will help others to don't do what you are doing now
  3. Create a new branch for your changes (use a descriptive name in kebab-case)
  4. Make changes and commit with clear, concise messages
  5. Open a Pull Request and describe what youโ€™ve done and why

๐ŸŽฏ Coding Standards

  • Follow a modular and decoupled architecture
  • Document your functions, classes, and files with clear explanations
  • Avoid unnecessary or hardcoded dependencies
  • Use the official GDScript Style Guide for .gd codes

๐Ÿงช Testing & Validation

  • Ensure your code runs without errors
  • Run any automated tests, if available
  • Document UI or behavior changes where applicable

๐Ÿ“ Project Structure

addons/                 Third-party or custom Godot plugins  
assets/                 Assets like images, fonts, icons  
data/                   Config files and static data (e.g. menus)
modes/                  Standalone editing modes (e.g. HTML Mode) 
docs/                   Project documentation and external guides  
core/                   Main application structure and base nodes  
action_scripts/         Action scripts and command logic  
action_scripts/scenes/  Scenes and assets tied to action scripts  
shortcuts/              Keybinding definitions for action scripts  

๐Ÿ’ฌ Communication

Please use GitHub Issues or the Discussion board to ask questions, suggest ideas, or provide feedback. We welcome your contributions!