documentation as easy as running a single command

Empowers dev collaboration with bespoke code documentation
doc Using project ducktales Detecting changesets... Uploading deltas... Done. Follow the link, and describe changes:
[copied to clipboard]
This website uses cookies to ensure you get the best experience
Supported languages
Editor Plugins
+ more IDEs and editors are coming soon
DuckDoc promotes the ability to maintain and sync documentation via an online editor collaboratively. It analyses your code and generates changesets, which are then sent to the service. Using our online editor, you get notified about code changes, so you can easily update your documentation or let the editor do it for you.
Automated documentation sync watch
A single tool for the whole codebase
Markdown-based templates
Free for open-source projects
Realtime collaborative editing
Revision control and versioning support
Rich auto-export features

Never let your docs be out of sync with your code

Download our CLI tool
Run it every time you finish writing code
Changes are automatically detected and marked

How it works

Share your updated docs and enjoy!
Review the changes and tweak your docs using our online editor
Get early access to our Free Plan!
It's totally free
Get early access to our Pro Plan!
Get early access to our Enterprise Plan!
How is this different from Swagger, Postman or any similar tools?
Swagger offers documentation for API methods, rather than for the code itself, while Duckdoc covers this exact area.
Doesn't Doxygen offer exactly what your tool does?
Yes, and no. With Doxygen, you get predefined "mechanical" representation of your code, while we strive to provide as much human and developer-friendly experience as possible.
How is DuckDoc different from JSDoc?
While JSDoc can be used to generate documentation and populate required information, Duckdoc gives you the ability to extend it by hand using our online editor. JSDoc is therefore supported, but not required to be present in your code if you decide to use our product.
Do I need to share my code to host the documentation?
Our service only requires the most basic information about your application interface so that it can present any form of documentation at all. All the analysis happens on the local machine, where we send only the most significant bits to the service itself. Our service is not hosting your source code for that reason.
Can external peers access the generated documentation?
Yes, you can set up the permissions for team members to have view-only access to the docs.
Can I use an existing documentation annotation in my project?
Yes, we plan to support various annotations at launch, so that existing projects can start with rich documentation from the go.
Can I see who visits my documentation?
At launch, we will give you the ability to use Google Analytics code on your documentation page so that you can analyze your traffic. We plan to expand this feature also to offer per-page analysis and page visits heatmap.
How do you handle code changes?
We offer built-in versioning support for your codebase and an ability to switch between different versions on-the-fly.
To what extent does the tool generate docs from a previously undocumented project?
Our tool fetches various metadata, such as function signatures, classes, or global variables, and generates essential documentation based on this data. This should be enough to provide necessary information about your code. However, the magic happens when you get to edit it online.
Can you do rich-text formatting, paste images, tables, and other similar things to the docs?
Yes, indeed. The tool supports Markdown, and you are free to enrich your documentation as you see fit.
How do you resolve conflicts when multiple people are trying to make changes to the same part of the documentation?
We offer a similar experience to what you are used to while working with Google Docs, for example, a real-time collaboration.
What is the easiest way to get me from a line of the code I am looking at in my editor to the actual description?
We offer a set of plugins for various IDEs and editors that allow you to navigate to a function definition
My project uses dependencies, can I use this tool to browse the docs for them as well?
Yes, of course. If language and platform you are using supports project definitions (package.json, etc.), we can recognize dependencies and fetch docs for them as well! Clicking on an unknown function used in your project will take you directly to that docs. Our product works especially great for open-source libraries.
Can I integrate this tool with an existing CI/CD to run it automatically?
Yes, most likely, you can. However, please refer to the details for specific provider integrations.
Quadratic Labs © 2020