lib/devtools/README.md
CLI for versioning and releasing crewAI packages.
Installed automatically via the workspace (uv sync). Requires:
gh) — authenticatedOPENAI_API_KEY env var — for release note generation and translationENTERPRISE_REPO env var — GitHub repo for enterprise releasesENTERPRISE_VERSION_DIRS env var — comma-separated directories to bump in the enterprise repoENTERPRISE_CREWAI_DEP_PATH env var — path to the pyproject.toml with the crewai[tools] pin in the enterprise repoENTERPRISE_WORKFLOW_PATHS env var — comma-separated workflow file paths in the enterprise repo whose crewai[extras]==<version> pins should be rewritten on each release (e.g. .github/workflows/tests.yml)ENTERPRISE_EXTRA_PACKAGES env var — comma-separated packages to also pin in enterprise pyproject files, in addition to crewai / crewai[extras]devtools release <version>Full end-to-end release. Bumps versions, creates PRs, tags, publishes a GitHub release, and releases the enterprise repo.
devtools release 1.10.3
devtools release 1.10.3a1 # pre-release
devtools release 1.10.3 --no-edit # skip editing release notes
devtools release 1.10.3 --dry-run # preview without changes
devtools release 1.10.3 --skip-enterprise # skip enterprise release phase
Flow:
__version__ and dependency pins across all lib/ packagesuv syncdocs/edge/{en,pt-BR,ko,ar}/changelog.mdx)docs/edge/ into docs/v<version>/, registers the version in docs.json, and points the canonical /<lang>/:slug* redirects at the new default[docs-freeze] PR against main, polls until mergedcrewai[tools] dep, runs uv syncThe
docs-snapshotsCI guard rejects writes underdocs/v*/and deletions/renames indocs/images/unless the PR title starts with[docs-freeze]. The release CLI sets that prefix automatically; manual edits to a frozen snapshot need the same prefix to land.Pre-releases (e.g.
1.10.1b1) skip the snapshot step — they ride Edge — and the docs PR title omits the[docs-freeze]prefix.
devtools bump <version>Bump versions only (phase 1 of release).
devtools bump 1.10.3
devtools bump 1.10.3 --no-push # don't push or create PR
devtools bump 1.10.3 --no-commit # only update files
devtools bump 1.10.3 --dry-run
devtools tagTag and release only (phase 2 of release). Run after the bump PR is merged.
devtools tag
devtools tag --no-edit
devtools tag --dry-run