Skip to main content

Configuration

The Accomplish CLI uses a hierarchical configuration system with global settings, project-specific overrides, and environment variable support.

Configuration Files

Global Configuration

Location: ~/.accomplish/config.toml

Project Configuration

Location: .accomplish.toml (in project directory)

[project]
default_project = "ABC" # 3-letter project identifier

Directory Mappings

Location: ~/.accomplish/directories.toml

Automatically maintained by acc init. Maps directory paths to project identifiers:

"/Users/username/projects/my-app" = "APP"
"/Users/username/work/api-service" = "API"

Project Context

The CLI automatically determines which project to use based on:

  1. Explicit -p flag: acc log -m "Fixed bug" -p ABC
  2. Local .accomplish.toml: Project-specific configuration file
  3. Directory mapping: Configured via acc init
  4. No default: Prompts for project or uses none

Setting Up Project Context

# Navigate to your project directory
cd /path/to/my-project

# Initialize project configuration
acc init

This will:

  • Detect git repository information
  • Prompt you to select or create a project
  • Create .accomplish.toml with default project
  • Add directory mapping to global configuration

Manual Project Configuration

Create .accomplish.toml manually:

[project]
default_project = "WEB" # Your project's 3-letter identifier

Configuration Priority

Configuration values are resolved in this order (highest to lowest priority):

  1. Command-line flags: acc log -p ABC
  2. Environment variables: ACCOMPLISH__DEFAULT__API_BASE
  3. Local project config: .accomplish.toml
  4. Global config: ~/.accomplish/config.toml
  5. Built-in defaults

Advanced Configuration

Custom Editor

Set your preferred editor for multi-line entries:

# Using environment variable
export EDITOR="code" # VS Code
export EDITOR="vim" # Vim
export EDITOR="nano" # Nano

# Then use with --edit flag
acc log --edit

API Timeout Settings

While not directly configurable, the CLI uses reasonable defaults:

  • Connection timeout: 30 seconds
  • Request timeout: 60 seconds
  • Retry attempts: 3 with exponential backoff

Troubleshooting Configuration

Reset to Defaults

# Remove configuration file to regenerate defaults
rm ~/.accomplish/config.toml

# Run any command to regenerate
acc status

Debug Configuration

# Check current status and configuration
acc status

# This shows:
# - Authentication status
# - Current default project
# - Configuration file locations

Fix Permissions

# Ensure proper permissions on config directory
chmod 700 ~/.accomplish
chmod 600 ~/.accomplish/config.toml
chmod 600 ~/.accomplish/directories.toml