Contributing to Fungoid¶
Thanks for your interest! Here's how you can help.
How to Contribute¶
Reporting Bugs¶
Before creating bug reports, please check the existing issues to avoid duplicates. When creating a bug report, include as much detail as possible:
- Use a clear and descriptive title
- Describe the exact steps to reproduce the problem
- Provide specific examples to demonstrate the steps
- Describe the behavior you observed after following the steps
- Explain which behavior you expected to see instead
- Include screenshots if applicable
- Specify your environment (OS, terminal version, shell version)
Suggesting Enhancements¶
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion:
- Use a clear and descriptive title
- Provide a step-by-step description of the suggested enhancement
- Provide specific examples to demonstrate the steps
- Describe the current behavior and the expected behavior
- Explain why this enhancement would be useful
- List some other themes or applications where this feature exists
Pull Requests¶
- Fill in the required template
- Do not include issue numbers in the PR title
- Include screenshots and animated GIFs of your changes
- Follow the existing style and conventions
- Document new features in README.md
- Test changes across all supported platforms (macOS, Linux)
- Write a clear and descriptive PR description
Development Workflow¶
VSCode Theme Changes¶
- Edit
vscode/fungoid-vscode-theme/themes/fungoid.json - Test in VSCode:
code --install-extension path/to/fungoid-theme-1.0.0.vsix - Verify syntax highlighting across multiple file types
- Run
vsce packageto build the extension - Update CHANGELOG.md
iTerm Theme Changes¶
- Edit
iterm/Fungoid.itermcolors - Import into iTerm2 Preferences > Profiles > Colors
- Test with various commands and git status
- Update CHANGELOG.md
Zsh Theme Changes¶
- Edit
oh-my-zsh/custom/themes/fungoid.zsh-theme - Copy to
~/.oh-my-zsh/custom/themes/ - Set
ZSH_THEME="fungoid"in~/.zshrc - Test prompt with various git states and commands
- Update CHANGELOG.md
Style Guidelines¶
Color Naming¶
- Use semantic names (e.g.,
primaryOrange,accentGreen,mutedGrey) - Keep hex codes consistent across all theme files
- Document new colors in COLORS.md
Code Style¶
- Use lowercase for color values in JSON
- Maintain consistent indentation (2 spaces)
- Keep related scopes grouped together
- Avoid duplicate scope definitions
Questions?¶
Feel free to open an issue for questions or concerns.