Thanks for helping improve Dynamia Tasks.
This guide follows standard GitHub contribution practices and focuses on the most valuable ways to contribute:
- Testing the plugin across IDEs and operating systems
- Reporting high-quality issues
- Implementing new connectors
- Ways to Contribute
- Test the Plugin on Different Platforms
- Report Issues
- Implement a New Connector
- Open a Pull Request
- Style and Project Rules
You can contribute even if you do not write code:
- Validate UX and workflows in your IDE and OS
- Report bugs with clear reproduction steps
- Suggest product improvements or documentation updates
- Build and publish new connectors
- Review open pull requests
One of the best contributions is testing real workflows in different environments.
- JetBrains IDEs and Android Studio: https://plugins.jetbrains.com/plugin/31430-dynamia-tasks
- VS Code: https://marketplace.visualstudio.com/items?itemName=DynamiaTools.dynamia-tasks
Try at least one scenario per row when possible:
| OS | IDEs |
|---|---|
| Windows 11 | VS Code, IntelliJ IDEA, Android Studio |
| macOS | VS Code, IntelliJ IDEA, Android Studio |
| Linux | VS Code, IntelliJ IDEA |
- Open plugin view and verify server starts correctly
- Configure only
localconnector and manage local tasks - Configure only
githubconnector and browse/manage issues - Use both connectors at the same time in one workspace
- Verify capability-driven UI behavior (for example, no comments for local tasks)
- Validate offline behavior and cache fallback when network is unavailable
When reporting test results, include:
- OS version
- IDE name and version
- Plugin version
- Node.js version (if relevant)
- Expected behavior vs actual behavior
Before opening a new issue, search existing issues first.
Use this structure in your issue:
- Title: short and specific
- Summary: what happened and why it matters
- Steps to reproduce: numbered steps
- Expected result
- Actual result
- Environment: OS, IDE, plugin version, Node.js version
- Logs/screenshots: include errors from IDE logs, extension host logs, or server output
- Sample data: minimal
.tasks/*.jsonor config snippet if relevant
- Bug report
- Regression
- Connector compatibility problem
- UX improvement request
- Documentation gap
Connectors are first-class extension points in Dynamia Tasks.
Create a new package in packages/connector-{name}/.
Expected files:
package.jsontsconfig.jsonsrc/index.ts- connector implementation class (for example
src/JiraConnector.ts)
Use the interface from packages/core/src/connectors/types.ts.
Requirements:
- Unique connector
idin lowercase kebab-case - Capability map aligned with real support (
canComment,canSubtasks, etc.) - Full required methods implemented (
fetchTasks,getTask,updateTask,createTask, ...) - Optional methods only when capability is supported
Register your connector in apps/web/server/utils/registry.ts.
- Connector can be configured via API config endpoints
- Unsupported operations return
CAPABILITY_NOT_SUPPORTED - UI behavior is capability-driven (not connector-id specific)
Update README.md (user-facing) and ARCHITECTURE.md (technical) if behavior or setup changes.
Use the default GitHub flow:
- Fork the repository
- Create a branch from
main - Make focused commits
- Push branch to your fork
- Open a pull request
- Clear title and description
- Linked issue (if one exists)
- Scope is focused (one topic per PR)
- Tests or validation notes included
- Screenshots or short recordings for UI changes
- Documentation updated when needed
Please follow repository architecture and coding rules:
- Read
ARCHITECTURE.md - Keep the app local-first (no cloud backend)
- Do not use
localStoragefor connector config or tokens - Keep task-related types in
packages/core/src/types.ts - Route task operations through server API (no direct connector usage in SPA)
- Use capability-driven UI checks instead of connector-id checks
Thanks again for contributing to Dynamia Tasks.