Configuration ============= jott uses JSON configuration files stored in ``~/.jot/`` and project-local ``.jot.json`` files. Task Storage ------------ Tasks are stored per-directory in ``.jot.json``: .. code-block:: json { "tasks": [ { "id": 1, "text": "feed the cats", "done": false, "current": true } ], "archived": [] } Deleted tasks are moved to the ``archived`` array rather than permanently removed. Project Registry ---------------- Projects are registered in ``~/.jot-projects.json``. Auto-discovery scans ``~/projects/`` for directories containing ``.jot.json`` files on first run. .. code-block:: bash # Manually register a project jott --register my-project /path/to/project # Unregister a project jott --unregister my-project # Refresh auto-discovery jott --refresh Symlinked directories are automatically deduplicated by resolved path. Keyword Configuration --------------------- Keywords are configured in ``~/.jot-keywords.json``: .. code-block:: json { "keywords": { "gcal": { "auto_trigger": true, "description": "Export task to Google Calendar" }, "ai": { "auto_trigger": true, "description": "Mark task for AI/agent" }, "analyze": { "auto_trigger": true, "description": "Analyze with Claude Code" }, "remind": { "auto_trigger": false, "description": "Display system notification" }, "all": { "auto_trigger": true, "description": "Broadcast to all projects" } }, "aliases": { "claude": "ai" } } Use the ``keyword: task text`` format when adding tasks to trigger the associated action automatically. Category Configuration ---------------------- Categories are stored per-project in ``.jot-categories/``. Use **Tab** in quick-add mode to cycle through categories, or configure templates for common category sets. Google Calendar Setup --------------------- 1. Enable the Google Calendar API in `Google Cloud Console `_. 2. Create OAuth 2.0 credentials (Desktop app type). 3. Save credentials: .. code-block:: bash mkdir -p ~/.jot mv ~/Downloads/credentials.json ~/.jot/credentials.json 4. Press **Shift+G** on any task to authenticate via browser. Multi-account support stores separate credentials per account: .. code-block:: text ~/.jot/gcal-accounts/ ├── work/ │ ├── credentials.json │ └── token.json └── personal/ ├── credentials.json └── token.json Environment Variables --------------------- .. list-table:: :header-rows: 1 :widths: 25 75 * - Variable - Description * - ``EDITOR`` - Editor used for task notes (default: ``vi``) * - ``JOT_DIR`` - Override the default project directory for auto-discovery