Skip to content

Configuration

Config file location

The CLI stores its configuration in a TOML file:

PlatformPath
macOS / Linux~/.config/jsm/config.toml
Windows%APPDATA%\jsm\config.toml

The file is created automatically on first run or when you run jsm setup.

Reading and writing values

# Show the full config
jsm config show

# Read a single key
jsm config get notifications.check_interval_hours

# Set a value
jsm config set notifications.check_interval_hours 12

# Reset everything to defaults
jsm config reset

Configuration keys

General

KeyTypeDefaultDescription
api_urlstringhttps://jeffreys-skills.mdAPI base URL
auth_methodstringoauthAuthentication method (oauth or api_key)
skills_dirpath(auto)Override the skill installation directory
cache_dirpath(auto)Override the cache directory
verboseboolfalseEnable verbose logging globally

User

KeyTypeDefaultDescription
user.projects_dirpath-Preferred projects root directory
user.projects_symlinkpath-Convenience symlink to projects_dir
user.setup_completeboolfalseWhether first-time setup has been run

Skills directories

KeyTypeDefaultDescription
skills.claude_dirpath~/.claude/skillsClaude Code skills directory
skills.codex_dirpath~/.codex/skillsCodex skills directory
skills.gemini_dirpath~/.gemini/skillsGemini skills directory

Network

KeyTypeDefaultDescription
network.offline_modeboolfalseDisable all network requests

Setting network.offline_mode to true is equivalent to passing --offline on every command or setting JSM_OFFLINE=1.

Notifications

KeyTypeDefaultDescription
notifications.show_update_bannersbooltrueShow update banners in CLI output
notifications.check_interval_hoursint24How often to check for updates (0 = never)
notifications.banner_quiet_hoursint24Quiet period between banners
notifications.show_tipsbooltrueShow tips and suggestions

Email notifications

KeyTypeDefaultDescription
notifications.email.enabledboolfalseEnable email notifications
notifications.email.addressstring-Email address for notifications
notifications.email.frequencystringweeklyFrequency: immediate, daily, or weekly

Webhook notifications

KeyTypeDefaultDescription
notifications.webhook.enabledboolfalseEnable webhook notifications
notifications.webhook.urlstring-Webhook URL (must be http:// or https://)

Environment variables

The CLI respects these environment variables, which take priority over the config file:

VariableDescription
JSM_OFFLINESet to 1 to enable offline mode
HTTPS_PROXYHTTP proxy for all requests

Example config file

api_url = "https://jeffreys-skills.md"
auth_method = "oauth"
verbose = false

[user]
projects_dir = "/home/user/projects"
setup_complete = true

[skills]
claude_dir = "/home/user/.claude/skills"
codex_dir = "/home/user/.codex/skills"
gemini_dir = "/home/user/.gemini/skills"

[notifications]
show_update_banners = true
check_interval_hours = 12
show_tips = true

[notifications.email]
enabled = true
address = "you@example.com"
frequency = "daily"

[network]
offline_mode = false

Skill update preferences

Control how the CLI handles skill updates:

# View current preference
jsm config update-preference

# Set preference
jsm config update-preference auto      # apply updates automatically on sync
jsm config update-preference notify    # show a notification, don't apply
jsm config update-preference manual    # never auto-update