Project-Level Configuration

Tracing is always configured per-project. Each project traces to its own Infinium agent:

cd /path/to/project-a
infinium-cline init
# Enter Project A's Agent ID and Secret

cd /path/to/project-b
infinium-cline init
# Enter Project B's Agent ID and Secret
LocationContents
.infinium/config.json in project rootAgent ID, base URL, trace granularity
.clinerules/hooks/* in project rootOne executable hook script per Cline event (POSIX sh on Unix, .cmd on Windows)
VS Code setting”Enable Hooks” — required once per workstation

Add .infinium/ to your .gitignore to keep credentials out of version control. .clinerules/ is project-specific and can be committed if you want your team to share the hooks.

Resolution Order

When a hook fires, the connector resolves credentials in this order:

  1. Project config.infinium/config.json at or above the working directory
  2. Environment variables — Override project config (for CI/Docker)

Credential Storage

DataStorageSecurity
Agent IDConfig file (JSON)Non-sensitive identifier
Agent SecretOS keyringEncrypted by the operating system
Base URLConfig file (JSON)Non-sensitive

The connector never stores your agent secret in a file. It uses the OS keyring:

  • Windows: Windows Credential Manager
  • macOS: Keychain
  • Linux: Secret Service (GNOME Keyring, KDE Wallet)

Updating Credentials

infinium-cline update-credentials

Or pass flags directly:

infinium-cline update-credentials --agent-id "new-id" --agent-secret "new-secret"

Pause and Resume

Temporarily disable tracing without removing your configuration:

# Pause — hooks stay installed but traces are skipped
infinium-cline pause

# Resume — traces start sending again
infinium-cline resume

Check current state with infinium-cline status.

Trace Granularity

Cline sessions are task-scoped. The connector flushes exactly one trace per task on TaskComplete or TaskCancel. There’s no per-turn flush option — Cline’s model is one trace per task lifecycle.

Environment Variables

All settings can be overridden with environment variables. This is useful for CI/CD, Docker, or headless environments where the interactive wizard can’t run.

Credentials

VariableDescriptionDefault
INFINIUM_AGENT_IDAgent IDFrom config file
INFINIUM_AGENT_SECRETAgent secretFrom OS keyring
INFINIUM_BASE_URLAPI base URLhttps://platform.i42m.ai/api/v1

Connector Behavior

VariableDescriptionDefault
CONNECTOR_QUIETSuppress output (true/false)false
CONNECTOR_FLUSH_ON_SESSION_ENDSend trace on TaskComplete/TaskCanceltrue
CONNECTOR_SESSION_TTLStale session cleanup threshold (seconds)1800
CONNECTOR_SESSION_DIROverride temp directory for session filesSystem temp
CONNECTOR_MAX_INPUT_PREVIEWMax characters of prompt preview200
CONNECTOR_MAX_OUTPUT_PREVIEWMax characters of tool-output preview300

HTTP Client

VariableDescriptionDefault
INFINIUM_TIMEOUTRequest timeout in seconds30.0
INFINIUM_MAX_RETRIESMax retry attempts3
INFINIUM_VERIFY_SSLVerify SSL certificatestrue

CI/Docker Example

export INFINIUM_AGENT_ID="your-agent-id"
export INFINIUM_AGENT_SECRET="your-agent-secret"

# Non-interactive setup
infinium-cline init \
  --agent-id "$INFINIUM_AGENT_ID" \
  --agent-secret "$INFINIUM_AGENT_SECRET" \
  --no-interactive

Uninstall

Completely remove the connector:

infinium-cline uninstall

This removes:

  • Infinium hook scripts from .clinerules/hooks/
  • The .clinerules/hooks/ and .clinerules/ directories if they become empty
  • Credentials (config file + keyring secret)

To skip the confirmation prompt:

infinium-cline uninstall -y

You can reinstall at any time with pip install infinium-cline-connector and infinium-cline init.