Open matthewchivers opened 1 month ago
Rough outline for remaining work:
Implement CLI Functionality and Project Structure
Add Initialization Command (dodl init)
Implement Entry Creation Command (dodl new document)
Develop Configuration Management
Implement File Tracking Command (dodl track document)
Implement Status Check Command (dodl status)
Implement Entry Retrieval Command (dodl get documents)
Add Support for Entry Templates
Add Tag Management Commands (dodl add tag, dodl get tags, dodl get documents --tag)
Implement Metadata Refresh Command (dodl refresh)
Enhance Metadata Structure for Extensibility
Implement Short UUIDs for Ease of Use
Implement User Metadata Support
Develop Documentation for User Commands
Implement Interactive Command Line Prompts
Improve Performance for Large Repositories
Release Initial Version of dodl
MVP Implementation for
dodl
Overview
dodl
is a command-line tool designed to simplify the creation, tracking, and management of documents. It allows users to quickly create new entries, track existing files, and manage metadata such as tags and modification times. The tool is especially useful for note-taking during meetings, where users need a fast and efficient way to generate and organise files without manual navigation and setup.Purpose
The primary purpose of
dodl
is to streamline the process of creating and managing documents by providing an intuitive command-line interface. This tool is useful for:Features
Initialisation
dodl init
dodl
register directory structure and metadata file.Entry Management
Create a New Entry
dodl new entry <entry-name>
dodl
register according to the directory pattern specified in the configuration.Track an Existing Entry
dodl track entry <file-path>
dodl
register, tracking its location and checksum.Get Entries
dodl get entries
dodl
register.Tag Management
Add a Tag to a File
dodl add tag <file-path> <tag>
dodl
register without modifying the file itself.Get Tags of a File
dodl get tags <file-path>
List Files by Tag
dodl get entries --tag <tag>
Status and Metadata Management
Check Status
dodl status
Refresh Metadata
dodl refresh
Metadata Structure
Metadata for each tracked file is stored in a JSON file (
.
dodl/dodl_metadata.json
). The metadata includes:uuid
: Unique identifier for the file.type
: The type of entry (e.g. diary, planning, minutes, or any other custom entry type specified in the config)path
: Normalised file path.date_created
: Original creation date of the file (if available).date_started_tracking
: Date when the file was first tracked.date_last_accessed
: Date when the file was last accessed.date_last_modified
: Date when the file was last modified.tags
: Tags associated with the file.Example Metadata Structure
Workflow Examples
Initialise the Register:
Create a New Entry:
Track an Existing Entry:
Add a Tag to a File:
Get Tags of a File:
List Files by Tag:
Check Status:
Refresh Metadata:
Intended Users
dodl
is designed for:By implementing these features,
dodl
aims to provide a streamlined and efficient experience for creating, tracking, and managing documents, making it an invaluable tool for daily note-taking and document organisation.