Contributing
Taskdn is developed in a monorepo on GitHub. The CLI, desktop app, specifications, and this website all live there. The Obsidian plugin has its own repository.
Current Status
Section titled “Current Status”I’m not actively looking for contributors right now. The desktop app needs to be finished first, and the codebase is still settling. Once that’s done, I’ll expand these guidelines with setup instructions, coding standards, and areas where help would be useful.
That said, constructive feedback is welcome. If you’ve got thoughts on the specs, the CLI interface, or how things work, open an issue.
Issues and Pull Requests
Section titled “Issues and Pull Requests”Raise issues on the main taskdn repository, including issues about the Obsidian plugin. Pull requests for the Obsidian plugin go to its own repository.
Building Your Own Implementation
Section titled “Building Your Own Implementation”If you want to build your own tool that works with Taskdn files, implement the S1 specification. That’s the file format: field names, valid values, directory structure. Meet that spec and your tool will read and write files that work with everything else.
If you’re building something, let me know. I’m keen to see other implementations and will link to them from the docs.
Licensing
Section titled “Licensing”The Taskdn monorepo uses different licenses for different components:
- Specifications (tdn-specs) — CC BY 4.0. Use them freely, with attribution.
- Desktop App (tdn-desktop) — AGPL-3.0. Modifications must be shared under the same license.
- CLI, Plugins, Website code — MIT. Standard permissive license.
- Website content — CC BY 4.0. Documentation requires attribution.
Contributing to the Desktop App
Section titled “Contributing to the Desktop App”The desktop app uses AGPL-3.0 with a Contributor License Agreement (CLA). If you submit a pull request to tdn-desktop/, you’ll be asked to agree to the CLA. This grants Danny Smith the right to use your contribution under other licenses, preserving the option to dual-license or commercialize in the future.
Your code will still be publicly available under AGPL-3.0. The CLA just ensures the project maintainer retains flexibility. See CLA.md for the full agreement.
Contributions to other parts of the repo don’t require a CLA.