CLI Manager for corporate documentation via .dokk files
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dokkument-1.0.0.tar.gz.
File metadata
- Download URL: dokkument-1.0.0.tar.gz
- Upload date:
- Size: 32.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7563b46add45a9cdef719d30395a93dddedeffe97aca9148306ba493782a706a
|
|
| MD5 |
57a408ebafb3fbfae8b60b63cc92c584
|
|
| BLAKE2b-256 |
c8142ae28d209687def3906b24975d54a5611c513c2e6fb2da5272ac046bdb01
|
File details
Details for the file dokkument-1.0.0-py3-none-any.whl.
File metadata
- Download URL: dokkument-1.0.0-py3-none-any.whl
- Upload date:
- Size: 26.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d6a83e7e1dc6dfd67fc605b4e08c6ffc318238ffe5f39b54549f7d83e4aa044
|
|
| MD5 |
1ad5182107fe077b989255f683861402
|
|
| BLAKE2b-256 |
b798a5520e2af14ace7d97c51e0c98124067962a6a924c7cc2c1787b39725c52
|