Quick start
This guide walks you through setting up grekt in a project and syncing your first artifact.
Installation
NOTE
AI tooling evolves fast. Breaking changes and frequent updates are expected as the ecosystem matures.
curl -fsSL https://grekt.com/install.sh | shbrew tap grekt-labs/grekt && brew install grektInitialize a project
Every project using grekt needs to be initialized. This creates the configuration files and sets up which AI tools you want to sync to.
grekt initYou'll be prompted to select your targets - the AI tools where artifacts will be synced (Claude Code, Cursor, Windsurf...).
This creates the following structure in your project:
project/
├── .grekt/
│ ├── artifacts/ # Downloaded artifacts
│ └── config.yaml # Local config (tokens, session) - gitignored
├── grekt.yaml # Project configuration
└── grekt.lock # Lockfile with exact versions and checksumsThe .grekt/config.yaml file stores your authentication session and tokens. It's automatically added to .gitignore.
Configure a registry
PRIVATE REGISTRY
If you're using a private registry, configure it first to install artifacts with @scope/name syntax.
grekt config registry setSee grekt config registry set, GitLab registry or GitHub for details.
Add an artifact
Artifacts are bundles of AI configurations: agents, skills, commands, rules... They can come from the grekt registry, GitHub, or GitLab.
# From the registry
grekt add @scope/my-artifact
# From GitHub (latest)
grekt add github:user/repo
# From GitHub (specific tag)
grekt add github:user/repo#v1.0.0
# From GitLab
grekt add gitlab:group/repoWhen you add an artifact:
- grekt downloads it to
.grekt/artifacts/ - Updates
grekt.yamlwith the artifact reference - Creates a lockfile entry with the exact version and checksum
By default, artifacts are added in LAZY mode (indexed but not copied to AI tools). Use --core to copy them directly to target directories like .claude/agents/, or --core-sym to create symlinks instead of copies.
Selective installation
Large artifacts may contain components you don't need. Use --choose to interactively select which agents, skills, or commands to install:
grekt add @scope/my-artifact --chooseSync to your tools
Sync writes your artifacts to AI tool directories. Each target (Claude, Cursor...) has its own structure:
- Claude: Creates
.claude/agents/,.claude/skills/, updatesCLAUDE.md - Cursor: Updates
.cursorruleswith artifact content
# Preview what will change
grekt sync --dry-run
# Apply changes
grekt syncOnly CORE and CORE-SYM mode artifacts are synced to target directories. LAZY mode artifacts (default) are indexed in .grekt/index for AI tools to discover on demand.
Auto sync with --core / --core-sym
When you add an artifact with --core or --core-sym, sync runs automatically.
Verify your setup
Run grekt check to verify artifact integrity and detect issues:
grekt checkThis command:
- Verifies SHA256 checksums against the lockfile
- Detects local modifications (drift)
- Warns about conflicts like duplicate skill names
- Shows total context size and estimated tokens
To see what's installed:
grekt listKeep artifacts up to date
Check for newer versions and upgrade:
# See which artifacts have updates
grekt outdated
# Upgrade all at once
grekt upgradeComponent selections from --choose are preserved across upgrades.
Git worktrees
When using git worktree, gitignored directories like .grekt/ are not present in the new worktree. Use grekt worktree sync to copy it from the original repo:
git worktree add ../agent-wt main
cd ../agent-wt
grekt worktree syncSee grekt worktree for details.
Configuration
Your grekt.yaml tracks which artifacts are installed and how the project is configured:
targets:
- claude
- cursor
artifacts:
@scope/my-artifact: "1.0.0"
@scope/git-flow:
version: "2.0.0"
skills:
- skills/branch-naming.mdManage settings with the config command:
# View current config
grekt config list
# Change targets
grekt config set targets claude,cursor