Skip to content

Documentation

📚 Overview

In any project, one key aspect often determines long-term success: how knowledge is captured and reused. Good documentation prevents the loss of valuable information and makes collaboration, on-boarding, and maintenance significantly easier. Whether for code, project processes, or personal notes, documenting effectively is essential to ensuring knowledge remains accessible.

✨ What I Learned

I began using Doxygen and Sphinx to automatically generate documentation for Python, C, and C++ code. This approach allows integration with CI/CD pipelines to deploy live documentation websites, keeping function-level documentation synchronized with the code base. It eliminates the need to manually update both the code and documentation, greatly reducing maintenance effort while preserving quality.

For personal productivity, I use the Markdown format to take structured notes and manage to-do lists. I rely on tools like Obsidian and combine it with MkDocs to build searchable, version-controlled documentation. I track and publish my notes using Git and CI/CD workflows, making them easily accessible and maintainable over time.