Skip to content
Back to skills

Repo Maintenance

ASecurity

"Maintain the LlamaIndex monorepo safely: inspect package layout

  • 247 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 8, 2026
toolspythongobash

Works with

  • cli

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 8, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill repo-maintenance --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Repo Maintenance?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Repo Maintenance
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-repo-maintenance-829a2199/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-repo-maintenance-829a2199)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: repo-maintenance
description: "Maintain the LlamaIndex monorepo safely: inspect package layout
  and pyproject metadata, use llama-dev package/test commands, run targeted
  package tests, and triage docs/examples automation without performing release,
  publish, or credentialed sync actions."
disable-model-invocation: true
metadata:
  disco-role: operating
license: MIT
---

# LlamaIndex Repo Maintenance

Use this sub-skill when an agent is working inside the LlamaIndex monorepo and needs to reason about package boundaries, test one package or a small changed set, inspect package metadata, or decide which maintenance scripts are safe to adapt.

## Safe Maintenance Defaults

- Treat the monorepo as many package projects, not one install target; package-local commands usually run from the package directory.
- Prefer read-only inspection before mutation: list packages, read `pyproject.toml`, inspect tests, then choose the narrowest command.
- Use `uv` package-local workflows for ordinary development and tests; avoid installing every integration unless the task explicitly requires broad validation.
- Keep release, publish, version bump, and credentialed docs sync commands out of normal runnable guidance unless a human explicitly asks for those workflows and confirms credentials/scope.
- When using `llama-dev`, run it from the repo root or pass `--repo-root`; package arguments are repository-relative package paths such as `llama-index-core` or `llama-index-integrations/llms/llama-index-llms-openai`.

## Start Here

1. Identify the package path and distribution name with the bundled read-only helper:

   ```bash
   python skills/llama-index/sub-skills/repo-maintenance/scripts/list_llama_packages.py --repo-root . --filter openai
   ```

2. Inspect the relevant package metadata:

   ```bash
   python skills/llama-index/sub-skills/repo-maintenance/scripts/list_llama_packages.py --repo-root . --package-path llama-index-core
   ```

3. Run package-local tests from the package directory when you only touched one package:

   ```bash
   cd llama-index-integrations/llms/llama-index-llms-openai
   uv run -- pytest
   ```

4. Use `llama-dev test` when you need changed-package/dependant selection or a consistent package test harness:

   ```bash
   llama-dev test llama-index-integrations/llms/llama-index-llms-openai --workers 1
   ```

5. If a command would bump versions, publish packages, sync external docs, or require secrets, stop and ask for explicit human approval.

## Common Workflows

### Run Tests for One Integration

- Locate the integration under `llama-index-integrations/<category>/<distribution-name>/`.
- Read its `pyproject.toml` and confirm its own dependency group instead of syncing unrelated integrations.
- From that package directory, run `uv run -- pytest`; this lets `uv` create/use the package-local environment.
- If local changes affect another package dependency, either install that changed package into the package environment deliberately or use `llama-dev test <package-path>` so the CLI can install local changed packages for test execution.

### Add or Update a Package

- Ensure the directory name, `project.name`, import namespace, and optional `tool.llamahub.import_path` all point to the intended integration.
- Confirm `requires-python`, runtime dependencies, and test/dev dependencies match package needs without inheriting unrelated integrations.
- Use the helper script to compare neighboring packages in the same integration category.
- Add or update package-local tests and run only the changed package first; broaden to dependant packages only after the narrow run passes.

### Use llama-dev Safely

- Safe inspection: `llama-dev pkg info <package-path>`, `llama-dev pkg info --all`, and JSON output when machine parsing helps.
- Safe targeted execution: `llama-dev pkg exec --cmd "uv sync" <package-path>` only when dependency installation is expected.
- Safe tests: `llama-dev test <package-path> --workers 1` or `llama-dev test --base-ref main --workers <n>` for changed-package selection.
- Reference-only: `llama-dev pkg bump` mutates package versions; `llama-dev release ...` supports release automation. Do not run these as routine maintenance.

## References

- [Monorepo layout](references/monorepo-layout.md)
- [llama-dev CLI](references/llama-dev-cli.md)
- [Source script inventory](references/source-script-inventory.md)
- [Troubleshooting](references/troubleshooting.md)

## Bundled Script

- `scripts/list_llama_packages.py` scans a supplied repository root for `pyproject.toml` files with `project.name`, prints paths and package metadata, and can emit JSON. It is read-only and safe to run with `--help`.

Files in this skill

  • SKILL.md4.6 KB
  • references/llama-dev-cli.md2.9 KB
  • references/monorepo-layout.md2.8 KB
  • references/source-script-inventory.md2.2 KB
  • references/troubleshooting.md2.8 KB
  • scripts/list_llama_packages.py4.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.