Skip to content

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.

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.

Raise issues on the main taskdn repository, including issues about the Obsidian plugin. Pull requests for the Obsidian plugin go to its own repository.

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.

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.

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.