Skip to main content

CLI Manager for corporate documentation via .dokk files

Project description

dokkument

CLI Manager for corporate documentation via .dokk files CI Python License Version

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 .dokk files 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 - DokkParserFactory to handle different types of parsers
  • Command Pattern - Modular and extensible command system
  • Singleton Pattern - ConfigManager for global configuration
  • Strategy Pattern - Different export formats

🤝 Contributing

Contributions are welcome! To contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/your-feature-name)
  3. Commit your changes (git commit -am 'Add your-feature-name')
  4. Push the branch (git push origin feature/your-feature-name)
  5. Open a Pull Request

📄 License

Distributed under the MIT License. See LICENSE for more information.

💬 Support


Made with ❤️ by a developer for developers

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dokkument-1.0.0.tar.gz (32.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dokkument-1.0.0-py3-none-any.whl (26.5 kB view details)

Uploaded Python 3

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

Hashes for dokkument-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7563b46add45a9cdef719d30395a93dddedeffe97aca9148306ba493782a706a
MD5 57a408ebafb3fbfae8b60b63cc92c584
BLAKE2b-256 c8142ae28d209687def3906b24975d54a5611c513c2e6fb2da5272ac046bdb01

See more details on using hashes here.

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

Hashes for dokkument-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d6a83e7e1dc6dfd67fc605b4e08c6ffc318238ffe5f39b54549f7d83e4aa044
MD5 1ad5182107fe077b989255f683861402
BLAKE2b-256 b798a5520e2af14ace7d97c51e0c98124067962a6a924c7cc2c1787b39725c52

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page