__pycache__/
*.pyc
*.pyo
.venv/
.venv*/
.env
*.egg-info/
dist/
build/
.pytest_cache/
.DS_Store

# Local scratch / agent artifacts
tmp/

# Runtime/generated artifacts — generated functions live in third_party/
# (the framework-provided buildin/meta functions are always tracked)
openprogram/programs/functions/third_party/*.py
!openprogram/programs/functions/third_party/__init__.py
!openprogram/programs/functions/third_party/llm_call_example.py
!openprogram/programs/functions/third_party/sentiment.py
!openprogram/programs/functions/third_party/sentiment_v2.py
!openprogram/programs/functions/third_party/word_count.py
!openprogram/programs/functions/third_party/test.py
!openprogram/programs/functions/third_party/test_framework.py
!openprogram/programs/functions/third_party/test_resume.py

# Scratch skill
skills/init-research/

# Runtime test logs (historical — current default is ~/.agentic/logs/,
# outside the workspace; keep entries here in case someone sets
# AGENTIC_LOGS_DIR back to these paths)
openprogram/agentic_programming/logs/
openprogram/logs/

# Full upstream clones kept locally for reference while designing new
# tools/providers. Not committed — too large and rot against upstream.
references/openclaw/
references/openclaw 3/
references/hermes-agent/
references/weclaw/
references/claude-code-leaked/
references/pi-mono/
references/opencode/

# In-tree harness installs — independent git checkouts (or dev
# symlinks) placed into functions/agentics/ by
# `openprogram programs install <name|git-url>`. Any name is possible
# for third-party harnesses, so ignore every untracked entry there
# except new .py files; tracked bundled functions are unaffected
# (gitignore only hides untracked paths). When adding a NEW bundled
# function directory, `git add -f` it once.
openprogram/functions/agentics/*
!openprogram/functions/agentics/*.py

# Local OpenProgram runtime state
.openprogram/

# Detached backend logs from local dev launches
.backend.log
.backend.log.err

# Frontend dependency/build artifacts
web/node_modules/
web/.next/
web/next-env.d.ts
web/tsconfig.tsbuildinfo

# Local duplicate/generated lockfiles
cli/package-lock 2.json
cli/vendor/ink/package-lock.json

# Per-user webui runtime state (favourites, folders, icons) — not code
openprogram/webui/programs_meta.json
.agent_cron_test/
.cron-test.log
.cron-test/
.claude/worktrees/

# fetched per-provider model lists (runtime, user-specific — not source)
openprogram/providers/_catalog/fetched/
