Skip to content

File and Directory Structure

This page documents the filesystem locations Clanker uses for configuration, logs, state, and build output.


Configuration File

PathDescription
~/.clanker.yamlMain configuration file. Clanker looks for this file in the user's home directory by default.

You can override the config file location with the --config flag:

bash
clanker --config /path/to/custom.yaml ask "What instances are running?"

The config file is YAML and must be named .clanker.yaml (with leading dot) when placed in the home directory. See the Configuration File Reference for a complete description of all keys.


Data Directory

PathDescription
~/.clanker/Application data directory for logs, state, and cache

This directory is created automatically when Clanker needs to store persistent data. It may contain:

  • Logs from execution runs
  • State files for resource tracking and caching
  • Temporary data generated during plan execution

Binary Locations

Depending on how you build and install Clanker, the binary will be in one of the following locations:

Build CommandOutput PathDescription
make build./bin/clankerStandard build output
make dev./clankerDevelopment build in the project root
make install/usr/local/bin/clankerSystem-wide installation (may use Homebrew prefix if available)
make build-all./bin/clanker-{os}-{arch}Cross-platform builds for multiple targets

make install behavior

The make install target installs the binary with the following priority:

  1. If Homebrew is installed, the binary is placed in $(brew --prefix)/bin/clanker so that it appears first on the PATH.
  2. Otherwise, it installs to /usr/local/bin/clanker.
  3. If the target directory is not writable by the current user, the install uses sudo.

You can override the install location:

bash
make install INSTALL_BIN=/custom/path

make dev behavior

The make dev target builds a development binary at ./clanker in the current directory. It includes a timestamped version string in the format dev:YYYYMMDDHHmmss for easy identification.


Cross-Platform Build Output

The make build-all target produces binaries for these platforms:

FilePlatform
./bin/clanker-linux-amd64Linux x86_64
./bin/clanker-linux-arm64Linux ARM64
./bin/clanker-darwin-amd64macOS Intel
./bin/clanker-darwin-arm64macOS Apple Silicon
./bin/clanker-windows-amd64.exeWindows x86_64

Temporary Files

During operation, Clanker may create temporary files in the system temporary directory (typically /tmp on Linux/macOS):

  • bedrock-request-*.json and bedrock-response-*.json for AWS Bedrock API calls
  • gcp-backend-creds-*.json for temporary GCP service account credentials from the backend

These files are automatically cleaned up after each request.