IsaacTeleop / egocap
AGENTS.md438 starsChanged 31 days agoApache-2.0View on GitHub
SPDX-License-Identifier: Apache-2.0 --> All Ego Capture UI project files and changes belong under this egocap/ subtree. Shared repositories and repository-wide configuration outside this subtree are read-only references unless the user explicitly authorizes the specific external change. A plan, dependency requirement, or agent architectural preference is not that authorization. egocap/ is one consolidated Python project with exactly one pyproject.toml, one uv.lock, and one .venv, all at egocap/ root. Do not create a second pyproject.toml/uv.lock anywhere under egocap/. The subpackages (recording/, capture_server/,…
1 other project uses a version of this.
Adopted by
Most recently taken up by
- NVIDIA/IsaacCaptureword for word, first seen Nov 1, 2026
Other versions1 project uses a version of this.
Word for word · 1
- NVIDIA/IsaacCapture★ 438100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,542 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository28 other files it gives its agents.
- AGENTS.mdAGENTS.md
- deps/cloudxr/webxr_client/AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- examples/camera_streamer/AGENTS.mdAGENTS.md
- examples/teleop_ros2/AGENTS.mdAGENTS.md
- src/core/AGENTS.mdAGENTS.md
- src/core/codegen/AGENTS.mdAGENTS.md
- src/core/deviceio_base/AGENTS.mdAGENTS.md
- src/core/deviceio_session/AGENTS.mdAGENTS.md
- src/core/deviceio_trackers/AGENTS.mdAGENTS.md
- src/core/live_trackers/AGENTS.mdAGENTS.md
- src/core/log_bridge/AGENTS.mdAGENTS.md
- src/core/replay_trackers/AGENTS.mdAGENTS.md
- src/core/schema/AGENTS.mdAGENTS.md
- src/plugins/sensing/AGENTS.mdAGENTS.md
- src/plugins/sharpa_avatar/AGENTS.mdAGENTS.md
- src/python/isaaccapture/cts/common/AGENTS.mdAGENTS.md
- src/python/isaaccapture/cts/full_body/checker/AGENTS.mdAGENTS.md
- src/python/isaaccapture/cts/full_body/oracle/AGENTS.mdAGENTS.md
- src/python/isaaccapture/cts/hand/AGENTS.mdAGENTS.md
- src/python/isaaccapture/cts/hand/checker/AGENTS.mdAGENTS.md
- src/python/isaaccapture/logging_config/AGENTS.mdAGENTS.md
- src/viz/AGENTS.mdAGENTS.md
- tests/AGENTS.mdAGENTS.md
- .cursor/rules/cmake-structure.mdcCursor rule
- cmake-structureSkill
- rebot-orin-setupSkill
- rebot-orin-setupSkill
The file
We split this AGENTS.md into the rules it gives an agent
7 rules. About 0 are common, 2 are distinctive, and 5 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 11
All Ego Capture UI project files and changes belong under this egocap/ subtree.
- Very specific: line 24
Run every suite yourself, in full (including tests/backend and the frontend's npm run test/npm run lint from frontend/ when you touch …
- Distinctive: line 25
Before opening or updating an MR.
- Very specific: line 26
After any change that touches code under recording/ (including recording/recording_service/), capture_server/, backend/ or frontend/ (not …
- Distinctive: line 28
No external checkout is needed to run any test here.
- Very specific: line 47
Comments explain why, not what: Don't restate the code (# increment the counter).
- Very specific: line 56
Run all three test suites per "Run the tests yourself" above — check each package's own coverage target, not one combined number (see …
≈ “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.
Files
<!--
SPDX-FileCopyrightText: 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
-->Ego Capture UI scope, layout, and code-quality standard
Repository boundary
All Ego Capture UI project files and changes belong under this egocap/ subtree. Shared repositories and repository-wide configuration outside this subtree are read-only references unless the user explicitly authorizes the specific external change. A plan, dependency requirement, or agent architectural preference is not that authorization.
One project, one pyproject.toml
egocap/ is one consolidated Python project with exactly one pyproject.toml, one uv.lock, and one .venv, all at egocap/ root.
Do not create a second pyproject.toml/uv.lock anywhere under egocap/. The subpackages (recording/, capture_server/, and any future ones) are modules of this one project, each keeping its own importable package directory, sharing one dependency resolution so no two subpackages can ever disagree on a shared dependency's version. Tests live together under one top-level tests/ directory (tests/recording/, tests/capture_server/, ...), not nested inside each subpackage, so one testpaths entry covers all of them.
Run the tests yourself
Running egocap/tests/ is the contributor's own responsibility for every change to this example.
Nothing else is guaranteed to catch a test failure here.
Run every suite yourself, in full (including tests/backend and the frontend's npm run test/npm run lint from frontend/ when you touch backend/ or frontend/):
- Before opening or updating an MR.
- After any change that touches code under
recording/(includingrecording/recording_service/),capture_server/,backend/orfrontend/(not just docs/config) — don't wait until the end of a work session to find out something broke three commits ago.
No external checkout is needed to run any test here; the project builds and runs entirely standalone:
uv run pytest tests/recording -q --cov=recording/egocap --cov-branch --cov-fail-under=100
uv run pytest tests/capture_server -q --cov=capture_server/capture_server --cov-branch
uv run pytest tests/recording_service -q --cov=recording/recording_service --cov-branchrecording/recording_service/ (the recording service) and egocap/recording/ (the module library) must never import capture_server or egocap.capture. tests/recording_service/test_dependency_boundary.py enforces this by parsing the source. The real-data service tests need EGOCAP_REAL_EPISODE set to a recorded episode directory (without it they are SKIPPED, which is not a pass); the full acceptance run is recording/tools/replay_episode.py.
A passing local run is the only verification this code gets before a human reviews it. Report an actual run's output, not an assumption that it would pass.
Code quality — strict, because maintainers work from this documentation alone
Documentation must explain the purpose and constraints of the code so a maintainer unfamiliar with its history can still work on it.
- Every named function, method, class, and public property needs a docstring describing its purpose. No exceptions in production code. Tests are exempt — a test's name and assertions should read clearly on their own; prefer a clearer name over an explanatory docstring in test files.
- Every logical block inside a function (validation, branch, loop, I/O, mutation, a concurrency/ownership boundary) needs a short inline comment. Do not rely on identifier names alone to carry that meaning.
- Comments explain why, not what. Don't restate the code (
# increment the counter); explain the constraint, invariant, or past-failure reason a future reader can't derive by just reading the next line (e.g. why a guard exists, why a value is pinned, why an ordering matters). - Readable and concise: small focused functions, clear names, shallow nesting. A small, well-defined public API that a caller can understand from its signature alone, dependencies passed in rather than reached for globally.
- Format and lint before every commit (
ruff check/ruff formatas configured in this project'spyproject.toml) — there is no pre-commit hook enforcing this here, so it is on the agent. - This is public, open-source code: never use internal-only code names, project names, or terms anywhere under this tree — docs, code, comments, filenames, identifiers, or commit messages touching it. If unsure whether a term is internal-only or a legitimate public product name, ask before using it, rather than assuming either way.
Before reporting a change ready
Inspect changed paths against the intended MR base and audit path/install/dependency references. If an external configuration or CI edit is actually required, identify its exact path and purpose and obtain explicit user authorization before editing it. Do not silently broaden scope or duplicate files outside the allowed tree.
Run all three test suites per "Run the tests yourself" above — check each package's own coverage target, not one combined number (see pyproject.toml's [tool.coverage.run] comment for why).
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
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.

