Skip to main content
Version: MVP

Project profile

2 min readReferenceUpdated 2026-05-19

What you'll find here

The craik.project_profile schema — the project record Craik registers and later reasons about, plus path detection and immutable path rules.

Schema: craik.project_profile.

Important fields

Field
Purpose
Notes
id
identity
Stable project id derived from the project name.
name
identity
Human-readable project name.
repo.local_path
repo
Absolute path to the Git repository root.
repo.remote
repo
origin remote URL when configured.
repo.default_branch
repo
Detected default branch.
docs.paths
discovery
Documentation paths Craik should inspect.
docs.immutable_paths
policy
Paths that should not be edited by normal workflows.
memory.backend
memory
Default memory backend for the project.
memory.scope
memory
Default memory scope for the project.

Git detection

Default branch heuristic.

craik project add accepts any path inside a Git repository and stores the repository root. Default branch detection prefers origin/HEAD, then the current branch, then main.

Default paths

Kind
Default detected
Notes
Documentation paths
conventional
README.md · docs/.
Immutable paths
ADR conventions
docs/adr/ · docs/adrs/.

Immutable paths

Denied by default.

Immutable paths are policy inputs for later write protection. Writes require explicit approval metadata and a matching immutable-write capability grant.

Register them explicitly when a project uses a non-standard decision-record path:

craik project add /path/to/repo --immutable-path architecture/decisions/

What's next