Monorepo for modular CLI tools:
ait-coreait-xaiait-gmailait-gdriveait-gcalait-memoryait-resendait-sendgridait-social
uv sync --all-packages
uv run ruff check .
uv run pytest tests/Install from GitHub release wheel assets (recommended current path):
TAG=v0.1.0
REPO=pankyada/aitools
mkdir -p /tmp/aitools
# Download all wheels from a release and install
gh release download "$TAG" -R "$REPO" -p '*.whl' -D /tmp/aitools
uv pip install /tmp/aitools/*.whlInstall a single tool wheel:
TAG=v0.1.0
REPO=pankyada/aitools
mkdir -p /tmp/aitools
gh release download "$TAG" -R "$REPO" -p 'ait_gmail-*.whl' -D /tmp/aitools
uv pip install /tmp/aitools/ait_gmail-*.whlFor main-branch prereleases, use tags like v0.1.0-main-<short-sha>.
Note: install.sh expects standalone binary assets on the GitHub Release page. The current binary workflow uploads build artifacts, so wheel-based install is the reliable release-install path.
- Every commit pushed to
mainnow creates a GitHub prerelease automatically. - The release tag is
v<version>-main-<short-sha>and includes built package artifacts andSHA256SUMS. - Tagged releases (
v*) continue to use.github/workflows/release.ymlfor versioned release flow.
- Starting baseline version is
0.1.0. - All workspace packages and the root project use a unified semantic version.
- Adding a new tool package under
packages/requires a major version bump. - Adding a new skill under
skills/requires a major version bump. - CI enforces this policy via
scripts/check_version_policy.py.
- Do all work in a feature branch (for example,
codex/<task-name>). - Merge to
mainonly when the change is complete and reviewed. mainis protected to require pull-request-based changes.