-
-
Notifications
You must be signed in to change notification settings - Fork 5
Contributing Guide
Help make VaultAI even better! Whether you're a developer, designer, writer, or user, there are many ways to contribute to this growing project.
Your feedback shapes VaultAI's future:
Reporting Bugs
- Check existing issues first on GitHub Issues
- Use the bug report template when creating new issues
-
Include detailed information:
- Obsidian version and operating system
- VaultAI version number
- Steps to reproduce the problem
- Expected vs actual behavior
- Screenshots or error messages
Suggesting Features
- Search existing feature requests to avoid duplicates
- Use the feature request template
- Explain the use case - why is this feature needed?
- Provide examples of how it would work
- Consider implementation - is it technically feasible?
Help other users get the most from VaultAI:
In GitHub Discussions
- Answer questions from new users
- Share your workflows and tips
- Discuss feature ideas and improvements
- Provide feedback on proposed changes
Documentation Improvements
- Fix typos or unclear instructions
- Add examples and use cases
- Translate documentation (if applicable)
- Create video tutorials or guides
Ready to dive into the code? Here's how to get started:
- Node.js 18+ - Latest LTS version recommended
- Git - For version control
- Code Editor - VS Code recommended with TypeScript support
- Obsidian - For testing the plugin
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/yourusername/VaultAI.git
cd VaultAInpm install- Create a branch for your feature:
git checkout -b feature/amazing-feature- Start development mode:
npm run dev- Link to Obsidian (for testing):
# Create symlink to your test vault's plugin directory
ln -s /path/to/VaultAI /path/to/vault/.obsidian/plugins/vaultai-
Make your changes and test thoroughly
-
Build for production:
npm run build- TypeScript - Strongly typed code preferred
- ESLint - Follow the existing linting rules
- Prettier - Use for consistent formatting
- Comments - Document complex logic and public APIs
src/
βββ modals/ # UI modal components
βββ services/ # Core services (AI, settings)
βββ types/ # TypeScript type definitions
βββ utils/ # Helper functions
- main.ts - Plugin entry point and core functionality
- services/GeminiService.ts - AI integration
- modals/ - User interface components
-
Test in multiple scenarios:
- Different note types (markdown, canvas)
- Various content lengths
- Edge cases and error conditions
-
Verify core features:
- Chat interface functionality
- Insert Mode cursor tracking
- Custom prompts system
- Keyboard shortcuts
-
Check performance:
- Response times
- Memory usage
- Large document handling
Performance Improvements
- Optimize API calls and caching
- Improve large document handling
- Reduce memory usage
User Experience Enhancements
- Better error handling and messages
- Improved UI/UX design
- Accessibility improvements
Feature Additions
- New AI model integrations
- Advanced prompt features
- Export/import functionality
UI/UX Improvements
- Modern design updates
- Better responsive layouts
- Improved accessibility
- Icon and graphic design
Documentation Design
- Wiki layout improvements
- Visual guides and tutorials
- Infographics and diagrams
Technical Documentation
- API documentation
- Architecture guides
- Development tutorials
User Documentation
- Tutorial improvements
- Use case examples
- Troubleshooting guides
- Test thoroughly - Ensure your changes work correctly
- Update documentation - Include relevant docs updates
- Follow commit conventions:
feat: add new custom prompt validation
fix: resolve cursor tracking issue
docs: update installation guide
style: improve code formatting
- Clear title and description - Explain what and why
- Reference related issues - Use "Fixes #123" format
- Include testing notes - How did you test the changes?
- Screenshots/videos - For UI changes, show before/after
- Keep changes focused - One feature/fix per PR
- Automated checks - Ensure CI/CD passes
- Code review - Maintainer will review and provide feedback
- Testing - Changes will be tested in various scenarios
- Merge - Once approved, changes will be merged
- Contributors are listed in release notes
- Significant contributions highlighted in README
- Community recognition in GitHub Discussions
Regular contributors may be invited to become maintainers with:
- Commit access to the repository
- Ability to review and merge pull requests
- Voice in project direction and decisions
- Performance optimizations for large vaults
- Better error handling and user feedback
- Mobile compatibility improvements
- Additional AI model integrations
- Advanced prompt templating system
- Export/import functionality
- Plugin API for extensions
- Collaboration features
- Voice input integration
- Real-time collaboration
- Advanced analytics
- Plugin marketplace integration
- GitHub Discussions - For general development questions
- Discord/Slack - Real-time chat (if available)
- Email - Direct contact for sensitive issues
- Obsidian Plugin API - Official documentation
- TypeScript Guide - Learn TypeScript
- Electron - Understanding the underlying platform
Every contribution, no matter how small, helps make VaultAI better for everyone. Whether you:
- Report a bug that helps improve stability
- Suggest a feature that enhances productivity
- Fix a typo that improves clarity
- Answer a question that helps another user
- Write code that adds new capabilities
You're making a difference!
The VaultAI community appreciates your time, effort, and expertise. Together, we're building the future of AI-enhanced note-taking.
π‘ Ready to contribute? Start by exploring the issues labeled "good first issue" for beginner-friendly ways to get involved!
Intelligent AI Writing Assistant for Obsidian
π Home β’ β‘ Getting Started β’ π― Deep Editor β’ β¨ Custom Prompts β’ β¨οΈ Shortcuts β’ π οΈ Installation β’ π‘ Tips & Tricks
οΏ½ Report Issues β’ π‘ Feature Requests β’ οΏ½οΈ Discussions β’ β Troubleshooting
Made with β€οΈ by Neo β’ Transforming note-taking with AI