/ › Documentation Docs › Configuration
    Membership · Sign in

    Utilities

    • The JD CLI
    • Configuration
    • Your LLM can read this website
    • Agent skills

    Community

    • Forum
    • Discord (join server)

    Membership

    • Life Admin System The simplest way to organise your home life.
    • University Johnny.Decimal 101.System-building workshop.Task &Β project management.
    • Small Business System The fastest way to organise your small business.

    Configuration

    The standard config for Johnny.Decimal tools is ~/.config/johnnydecimal/config.json. Use it and your tools will work with mine.

    If you build Johnny.Decimal utilities, I recommend you use this file. Its configuration will be version controlled.

    Example

    {
      "version": 2,
      "systems": [
        {
          "sys": "D25",
          "title": "My business system",
          "root": "/Users/you/Documents/D25 My business system",
          "jdex": { "app": "obsidian", "path": "/Users/you/Documents/D25 JDex" },
          "default": true
        },
        {
          "sys": "P76",
          "title": "My personal system",
          "root": "/Users/you/Documents/P76 My personal system",
          "jdex": { "app": "bear" }
        }
      ]
    }

    The fields

    • version: the config format version. Currently 2. The JD CLI changes a version 1 file to version 2.
    • systems: one entry per system. See multiple systems.
    • updateCheck: false: turns off the JD CLI's daily check for a newer version. Optional.

    For each system:

    • sys: the system identifier.
    • title: a name for the system.
    • root: the filesystem root – the folder that holds your areas.
    • jdex: your JDex. Optional.
      • app: the app that contains it, e.g. obsidian or bear. Leave it out for a folder of notes.
      • path: its folder, if it is on your filesystem.1
      • vault: the Obsidian vault's name, if it isn't the name of the folder.
    • default: true: the system a tool acts on when you do not name one. Optional. Without it, the first system is the default.

    Location

    The path follows the XDG Base Directory Specification. Tools should use the first of these that applies.

    1. JD_CONFIG, if it's set. This must be the full path to the config file, including its filename.
    2. $XDG_CONFIG_HOME/johnnydecimal/config.json, noting that $XDG_CONFIG_HOME must be an absolute path per their spec.
    3. ~/.config/johnnydecimal/config.json.

    It's the same on macOS. These are command-line tools, so they don't use ~/Library.

    If you have the JD CLI, jd paths config prints the path. A tool that can run it doesn't need to work the path out.

    Pre-v4 location

    Before version 4 of the JD CLI, the file was ~/.jd/config.json. If yours is still there, the CLI reads it and tells you so. That won't last, so move it.

    mkdir -p -m 700 ~/.config/johnnydecimal
    mv ~/.jd/config.json ~/.config/johnnydecimal/

    Environment variables

    An earlier version of this page defined JD_* environment variables: JD_PATH, JD_D25_PATH, JD_JDEX. The config file replaces them. If you define your own Johnny.Decimal variables, keep the JD_ prefix.

    Footnotes

    1. Noting that your Obsidian vault should live at 00.00 in your Johnny.Decimal system. That makes the path long so I simplified the example code. See blog/0182 for a deep-dive. ↩


    β—€ Back The JD CLI Your LLM can read this … Next β–Ά (Use the ← arrow keys β†’)

    Learn

    • Documentation
    • Blog
    • Search

    About

    • About us
    • Policies
    • Sitemap

    Support

    • Contact
    • Support
    • Community