dokkument
CLI Manager for corporate documentation via .dokk files
dokkument is a command-line application that allows you to manage and quickly access corporate documentation using .dokk files containing organized links. Perfect for development teams, sysadmins, and companies that need quick access to distributed documentation resources.
🚀 Features
- 🔍 Automatic scanning of
.dokkfiles in the current directory and subdirectories - 🎨 Colored interface with support for clickable links in compatible terminals
- 🌍 Intelligent browser opening cross-platform (Windows, macOS, Linux)
- ⚙️ Flexible configuration with customizable JSON files
- 📤 Export in multiple formats (text, Markdown, HTML, JSON)
- ✅ URL validation to ensure link correctness
- 🔧 Zero external dependencies - uses only Python standard libraries
📦 Installation
Quick Installation
pip install dokkument
Installation from source
git clone https://github.com/your-username/dokkument.git
cd dokkument
pip install -e .
Installation with advanced features (optional)
pip install "dokkument[enhanced]" # Includes rich, click, colorama for better UX
📖 .dokk file format
The .dokk files use a simple and readable format:
# Comments start with #
"Link description" -> "https://link.com"
"API Documentation" -> "https://api.example.com/docs"
"GitLab Repository" -> "https://gitlab.com/company/project"
"Monitoring Dashboard" -> "https://grafana.example.com"
Format rules:
- One line per entry
- Format:
"Description" -> "URL" - Empty lines and comments (
#) are ignored - Only HTTP/HTTPS URLs are supported
🚀 Usage
Interactive mode (default)
dokkument
Scans the current directory for .dokk files and presents an interactive menu.
List mode
dokkument --list # Textual list
dokkument --list --format json # JSON output
dokkument --list --format markdown # Markdown output
Direct opening
dokkument --open-all # Opens all links
dokkument --open 1 3 5 # Opens links 1, 3, and 5
Scan specific directory
dokkument --path /docs # Scan specific directory
dokkument --path /docs --no-recursive # Non-recursive
Statistics and validation
dokkument --stats # Show statistics
dokkument --validate # Validate all links
⚙️ Configuration
Configuration file
dokkument automatically looks for configuration files in:
.dokkument.json(current directory)~/.dokkument.json(home directory)~/.config/dokkument/config.json(Linux/macOS)%APPDATA%/dokkument/config.json(Windows)
Configuration example
{
"scanning": {
"recursive": true,
"max_depth": 10,
"excluded_dirs": [".git", "__pycache__", "node_modules"]
},
"display": {
"enable_colors": true,
"enable_hyperlinks": true,
"group_by_file": true,
"confirm_open_all": true
},
"browser": {
"preferred_browser": "firefox",
"open_delay_seconds": 0.5
},
"security": {
"validate_urls": true,
"allowed_schemes": ["http", "https"]
}
}
🏗️ Architecture
dokkument implements several design patterns to ensure clean and maintainable code:
- Factory Pattern -
DokkParserFactoryto handle different types of parsers - Command Pattern - Modular and extensible command system
- Singleton Pattern -
ConfigManagerfor global configuration - Strategy Pattern - Different export formats
🤝 Contributing
Contributions are welcome! To contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/your-feature-name) - Commit your changes (
git commit -am 'Add your-feature-name') - Push the branch (
git push origin feature/your-feature-name) - Open a Pull Request
📄 License
Distributed under the MIT License. See LICENSE for more information.
💬 Support
- Issues: GitHub Issues
- Documentation: this readme right here :D
Made with ❤️ by a developer for developers
Metadata
Release files for dokkument 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dokkument-1.0.0.tar.gz | 32.6 kB | Without provenance | Details for dokkument-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dokkument-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for dokkument-1.0.0-py3-none-any.whl |
Total release size: 59.1 kB
Release files / dokkument-1.0.0.tar.gz
| Download URL | dokkument-1.0.0.tar.gz |
|---|---|
| Size | 32.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7563b46add45a9cdef719d30395a93dddedeffe97aca9148306ba493782a706a
|
|
BLAKE2b-256 checksum How to use checksums |
c8142ae28d209687def3906b24975d54a5611c513c2e6fb2da5272ac046bdb01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Release files / dokkument-1.0.0-py3-none-any.whl
| Download URL | dokkument-1.0.0-py3-none-any.whl |
|---|---|
| Size | 26.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5d6a83e7e1dc6dfd67fc605b4e08c6ffc318238ffe5f39b54549f7d83e4aa044
|
|
BLAKE2b-256 checksum How to use checksums |
b798a5520e2af14ace7d97c51e0c98124067962a6a924c7cc2c1787b39725c52
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.5
|
Security for dokkument 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.