agentleFS
open-edge-platformopen-edge-platform/training_extensions/AGENTS.md

training_extensions

AGENTS.md1.4k starsChanged 17 days agoApache-2.0View on GitHub

- AGENTS.md is the canonical repo-wide instruction file for agentic tools. - CLAUDE.md imports this file for Claude Code compatibility. - Per-component guides live in libraries/getitune/AGENTS.md, application/backend/AGENTS.md, and application/ui/AGENTS.md; read the matching one before working in that area. - Canonical task skills live in skills/, grouped into skills/getitune/ and skills/application/ buckets. - .agents/skills/ and .claude/skills/ are committed symlink adapters pointing back at skills/<bucket>/<name>; do not edit them directly. Run python3 .github/scripts/skills/agent_skills.py sync after adding or renaming a skill (each skill…

1 other project uses a version of this.

Trending

More talk lately.about the whole repository

Dec 2025: 1 mentionJan 2026: 4 mentionsFeb 2026: 2 mentionsMar 2026: 2 mentionsApr 2026: 7 mentionsMay 2026: 2 mentionsJun 2026: 3 mentionsJul 2026: 2 mentionsAug 2026: 3 mentionsSep 2026: 4 mentionsOct 2026: 9 mentionsNov 2026: 5 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the open-edge-platform/training_extensions repository that our weekly crawl found. There is no adoption data for this file yet.

Most recently taken up by

Who's talking about open-edge-platform/training_extensions

The biggest 5 of 50 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 50

Talked about on GitHub (50 times).

On GitHub · 50

45 more on GitHub

The file

Show its rules and text

We split this AGENTS.md into the rules it gives an agent

38 rules. About 0 are common, 8 are distinctive, and 30 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 30

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  • could be automatic: a setting could enforce it
  1. Distinctive:

    Keep always-on repository rules here.

    line 17
  2. Very specific:

    Keep documentation close to the code and update it in the same PR as the behavior it describes.

    line 43
  3. Very specific:

    Use the getitune library workflow for changes under libraries/getitune/src, libraries/getitune/tests, or model, training, export, and CLI …

    line 81
  4. Very specific:

    Use the backend workflow for changes under application/backend/app, backend tests, backend packaging, or backend API schemas.

    line 82
  5. Very specific:

    Use the ui workflow for changes under application/ui/src, frontend tests, build config, or generated API client types.

    line 83
  6. Distinctive:

    Use the OpenAPI sync workflow whenever backend API contracts change and the UI consumes those changes.

    line 84
  7. Very specific:

    Use the documentation update workflow to keep README.md, application/README.md, application/docs/, or libraries/getitune/README.md in sync …

    line 85
  8. Very specific:

    Use getitune-discovering-models to list available models, recipes, and tasks before training.

    line 89
  9. Very specific:

    Use getitune-preparing-datasets to lay out and point a dataset at the library (COCO/YOLO/VOC/native).

    line 90
  10. Very specific:

    Use getitune-training-a-model to train or evaluate a model with create_engine / the getitune CLI.

    line 91
  11. Very specific:

    Use getitune-exporting-a-model to export a trained model to OpenVINO IR or ONNX.

    line 92
  12. Very specific:

    Use getitune-optimizing-a-model to quantize an exported model to INT8 with NNCF.

    line 93
  13. Very specific:

    Use getitune-running-inference to run predictions/evaluation with PyTorch, OpenVINO, or ONNX models.

    line 94
  14. Very specific:

    Use geti-using-the-pipeline to drive the Geti application end to end (project → dataset → train → deploy) via its REST API.

    line 95
  15. Very specific:

    Create or refresh the environment with just venv --device cpu, just venv --device cuda, or just venv --device xpu.

    line 100
  16. Very specific:

    Run lint and type checks with just lint.

    line 101
  17. Very specific:

    Run unit tests with just test-unit -- <pytest args>.

    line 102
  18. Very specific:

    Run backend-focused unit tests with just test-unit-lightning -- <pytest args> (Lightning models), just test-unit-ultralytics -- <pytest …

    line 103
  19. Very specific:

    Run integration tests with just test-integration -- <pytest args>.

    line 106
  20. Very specific:

    Run BDD tests with just test-bdd -- <behave args>.

    line 115
  21. Very specific:

    Start the local server with just run-server.

    line 117
  22. Very specific:

    Treat _clean_data and run-server --clean as destructive operations.

    line 119
  23. Very specific:

    Use Node >=24.2.0 and npm >=11.14.0.

    line 124
  24. Very specific:

    Run formatting checks with npm run format:check.

    line 127
  25. Very specific:

    Run lint with npm run lint.

    line 128
  26. Very specific:

    Check cyclic imports with npm run cyclic-deps-check.

    line 129
  27. Very specific:

    Run the TypeScript checker with npm run type-check.

    line 130
  28. Very specific:

    Run unit tests with npm run test:unit or npm run test:unit:coverage.

    line 131
  29. Very specific:

    Use npm run test:component and npm run test:e2e only when the change actually affects those layers.

    line 132
  30. Very specific:

    Do not assume commands from one area apply to another.

    line 138
  31. Distinctive:

    Do not hand-edit generated UI OpenAPI typings when regeneration is possible.

    line 140
  32. Distinctive:

    When backend request or response schemas change, regenerate the UI OpenAPI spec and TypeScript definitions in the same change set.

    line 141
  33. Very specific:

    Use .github/workflows/getitune-lint-and-test.yaml, .github/workflows/backend-lint-and-test.yaml, and …

    line 142
  34. Distinctive:

    Prefer minimal, area-scoped edits.

    line 146
  35. Distinctive:

    Follow existing Ruff, import-linter, ESLint, Prettier, and TypeScript configuration instead of introducing parallel style rules.

    line 147
  36. Distinctive:

    Update tests or docs when behavior changes.

    line 148
  37. Very specific:

    When changing how Geti is installed or run, edit application/docs/install.md (the source of truth) and reconcile README.md and …

    line 149
  38. Distinctive:

    Run the narrowest relevant verification before finishing and state exactly what was not run.

    line 150

≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

Geti Agent Guide

Role of This File

  • AGENTS.md is the canonical repo-wide instruction file for agentic tools.
  • CLAUDE.md imports this file for Claude Code compatibility.
  • Per-component guides live in libraries/getitune/AGENTS.md, application/backend/AGENTS.md, and application/ui/AGENTS.md; read the matching one before working in that area.
  • Canonical task skills live in skills/, grouped into skills/getitune/ and skills/application/ buckets.
  • .agents/skills/ and .claude/skills/ are committed symlink adapters pointing back at skills/<bucket>/<name>; do not edit them directly. Run python3 .github/scripts/skills/agent_skills.py sync after adding or renaming a skill (each skill directory must contain a SKILL.md). Adapters and layout are CI-enforced via .github/workflows/skills.yaml; verify locally with python3 .github/scripts/skills/agent_skills.py validate.
  • Keep always-on repository rules here; keep task-specific workflows in skills.

Repository Map

  • libraries/getitune/: getitune Python package (the Geti training library; source in src/getitune/), recipes, and tests. See libraries/getitune/AGENTS.md.
  • application/backend/: FastAPI backend named geti; consumes ../../libraries/getitune as an editable uv source. See application/backend/AGENTS.md.
  • application/ui/: React 19 + TypeScript + RSBuild frontend. See application/ui/AGENTS.md.
  • application/README.md: overview and entry point for the application; links to the installation guide.
  • application/docs/: Markdown docs for the application (installation, upgrade, API, pipeline, jobs, dataset import/export, models, quantization).
  • libraries/getitune/README.md: overview and quick-start for the getitune library.
  • libraries/getitune/docs/design/: design notes for the library; user-facing library docs live on the external documentation website.
  • README.md: root-level project overview.
  • .github/workflows/: CI source of truth for path-based checks and required jobs.

Data & State

  • The backend stores persistent data under application/backend/data/ by default (i.e., data/ when running from application/backend/); override via the DATA_DIR setting. The directory is git-ignored and may not exist until the server runs.
  • This includes:
    • the SQLite database (geti.db)
    • datasets with media artifacts (images, videos) + trained models with logs under projects/
    • job outputs (e.g. dataset exports) under output/ and in-progress imports under staged_datasets/
    • SSL certificates under certs/
    • pretrained weights downloaded as per manifest urls under pretrained_weights/

Documentation

Keep documentation close to the code and update it in the same PR as the behavior it describes. Use the geti-docs-update skill for documentation changes.

Where each kind of documentation lives:

  • README.md (root): project overview and the shortest possible quick-start. It lists the available install options and documents only the most basic case, then links to application/docs/install.md for anything more advanced. Do not duplicate detailed steps here.
  • application/README.md: application overview and entry point. It summarises the install options and links to the installation guide; it does not repeat the detailed steps.
  • application/docs/install.md: the single source of truth for installing and running the application. It covers every scenario (Windows MSIX app, Docker with pre-built or self-built images, install script, and run-from-source for development), plus prerequisites, accelerator support, TLS/TURN, and air-gapped setup. Add or change installation steps here first.
  • application/docs/upgrade.md: upgrading an existing installation (Docker or Windows MSIX), data migration, and rollback.
  • libraries/getitune/README.md: overview and quick-start for the getitune training library. Detailed library guides live on the external documentation website (https://docs.geti.intel.com/docs/user-guide/library/), not in this repo.
  • libraries/getitune/docs/design/: design notes for the library.
  • application/docs/: Markdown docs for the application (API, pipeline, jobs, dataset import/export, models, quantization).

Installation docs follow an install-guide-first model: application/docs/install.md is authoritative and detailed, while the root README.md, application/README.md, and the public docs website (https://docs.geti.intel.com) show only the basic case and link to it for advanced scenarios. When you change how Geti is installed or run, update application/docs/install.md first, then reconcile the two READMEs so they do not drift; the docs website lives outside this repo and may also need updating.

Choose the Right Workflow

Contributor/development skills (changing the codebase):

  • Use the getitune library workflow for changes under libraries/getitune/src, libraries/getitune/tests, or model, training, export, and CLI logic.
  • Use the backend workflow for changes under application/backend/app, backend tests, backend packaging, or backend API schemas.
  • Use the ui workflow for changes under application/ui/src, frontend tests, build config, or generated API client types.
  • Use the OpenAPI sync workflow whenever backend API contracts change and the UI consumes those changes.
  • Use the documentation update workflow to keep README.md, application/README.md, application/docs/, or libraries/getitune/README.md in sync with code changes.

User-facing skills (using Geti, not changing it):

  • Use getitune-discovering-models to list available models, recipes, and tasks before training.
  • Use getitune-preparing-datasets to lay out and point a dataset at the library (COCO/YOLO/VOC/native).
  • Use getitune-training-a-model to train or evaluate a model with create_engine / the getitune CLI.
  • Use getitune-exporting-a-model to export a trained model to OpenVINO IR or ONNX.
  • Use getitune-optimizing-a-model to quantize an exported model to INT8 with NNCF.
  • Use getitune-running-inference to run predictions/evaluation with PyTorch, OpenVINO, or ONNX models.
  • Use geti-using-the-pipeline to drive the Geti application end to end (project → dataset → train → deploy) via its REST API.

Commands: Library

  • Work from libraries/getitune/.
  • Create or refresh the environment with just venv --device cpu, just venv --device cuda, or just venv --device xpu.
  • Run lint and type checks with just lint.
  • Run unit tests with just test-unit -- <pytest args>.
  • Run backend-focused unit tests with just test-unit-lightning -- <pytest args> (Lightning models), just test-unit-ultralytics -- <pytest args> (Ultralytics/YOLO models), or just test-unit-openvino -- <pytest args> (OpenVINO).
  • Run integration tests with just test-integration -- <pytest args>.

Commands: Backend

  • Work from application/backend/.
  • Create or refresh the environment with just venv --accelerator cpu, just venv --accelerator cuda, or just venv --accelerator xpu.
  • Run lint and type checks with just lint.
  • Run unit tests with just test-unit -- <pytest args>.
  • Run integration tests with just test-integration -- <pytest args>.
  • Run BDD tests with just test-bdd -- <behave args>.
  • Generate an OpenAPI spec with just gen-api-spec --output-path openapi-spec.json.
  • Start the local server with just run-server.
  • Seed demo projects/sources/sinks on startup with just run-server --setup-demo (add --force-import to bypass schema-version checks).
  • Treat _clean_data and run-server --clean as destructive operations; use them only when the task explicitly calls for data reset.

Commands: UI

  • Work from application/ui/.
  • Use Node >=24.2.0 and npm >=11.14.0.
  • Install dependencies with npm ci.
  • Build with npm run build.
  • Run formatting checks with npm run format:check.
  • Run lint with npm run lint.
  • Check cyclic imports with npm run cyclic-deps-check.
  • Run the TypeScript checker with npm run type-check.
  • Run unit tests with npm run test:unit or npm run test:unit:coverage.
  • Use npm run test:component and npm run test:e2e only when the change actually affects those layers.
  • Build API typings from an existing spec with npm run build:api.
  • Pull a spec from a running backend with npm run update-spec when https://localhost:7860 is available (the backend serves self-signed TLS).

Cross-Area Rules

  • Do not assume commands from one area apply to another; libraries/getitune, application/backend, and application/ui use different runtimes and toolchains.
  • Backend changes can require validating libraries/getitune/ because application/backend depends on the local editable package.
  • Do not hand-edit generated UI OpenAPI typings when regeneration is possible.
  • When backend request or response schemas change, regenerate the UI OpenAPI spec and TypeScript definitions in the same change set.
  • Use .github/workflows/getitune-lint-and-test.yaml, .github/workflows/backend-lint-and-test.yaml, and .github/workflows/ui-lint-and-test.yaml as the source of truth for CI expectations if local commands are ambiguous.

Change Discipline

  • Prefer minimal, area-scoped edits.
  • Follow existing Ruff, import-linter, ESLint, Prettier, and TypeScript configuration instead of introducing parallel style rules.
  • Update tests or docs when behavior changes.
  • When changing how Geti is installed or run, edit application/docs/install.md (the source of truth) and reconcile README.md and application/README.md so they do not drift.
  • Run the narrowest relevant verification before finishing and state exactly what was not run.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.