agentleFS
NVIDIAKnown publisherNVIDIA/IsaacTeleop/examples/camera_streamer/AGENTS.md

IsaacTeleop / camera_streamer

AGENTS.md438 starsChanged 31 days agoApache-2.0View on GitHub

- Keep this example scoped to GMSL/Argus capture, AVS1/TCP, NVDEC and CUDA IPC. Do not restore unrelated camera wrappers, USB senders, RTP/recording paths or rig-specific deployment assets without an explicit scope change. - Preserve upstream notices when adding SPDX headers; missing SPDX does not mean a file lacks a license. Keep third-party exceptions separate from Apache-2.0 code. - Keep the native sender and standalone receiver independent of robot control software and the Isaac Capture runtime. Use the isaaccapture logger tree…

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

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

14 rules. About 0 are common, 13 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈13

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Keep this example scoped to GMSL/Argus capture, AVS1/TCP, NVDEC and CUDA IPC.

    line 8
  2. Distinctive:

    Do not restore unrelated camera wrappers, USB senders, RTP/recording paths or rig-specific deployment assets without an explicit scope …

    line 9
  3. Distinctive:

    Keep the native sender and standalone receiver independent of robot control software and the Isaac Capture runtime.

    line 13
  4. Distinctive:

    Document Install, Preview, Send, Receive and Viewer stages with explicit commands, without a launcher wrapper.

    line 15
  5. Very specific:

    Use HOST_IP/ROBOT_IP discovered for the installation, never developer addresses.

    line 19
  6. Distinctive:

    Use one shared profile per device/resolution.

    line 33
  7. Distinctive:

    Keep tests under the example-level tests/ directory, split by language and hardware needs.

    line 34
  8. Distinctive:

    Do not infer Argus mode indices from vendor specifications or another model.

    line 36
  9. Distinctive:

    Keep camera YAMLs directly under configs/ with model-prefixed filenames so profile selection needs no subdirectory.

    line 37
  10. Distinctive:

    Use matching columns for all camera profile tables so resolution, frame rate and capture constraints are directly comparable.

    line 38
  11. Distinctive:

    Keep profile alternatives in those tables.

    line 39
  12. Distinctive:

    Verify unresolved review findings against the current PR head and regression tests.

    line 41
  13. Distinctive:

    Keep portable tests buildable without Jetson dependencies and each review independently buildable.

    line 45
  14. Distinctive:

    Keep argus_sender, camera_receiver and cuda_ipc_consumer directly under camera_streamer.

    line 46

≈ “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
<!-- SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: Apache-2.0 -->

Standalone GMSL/Argus streamer

  • Keep this example scoped to GMSL/Argus capture, AVS1/TCP, NVDEC and CUDA IPC. Do not restore unrelated camera wrappers, USB senders, RTP/recording paths or rig-specific deployment assets without an explicit scope change.
  • Preserve upstream notices when adding SPDX headers; missing SPDX does not mean a file lacks a license. Keep third-party exceptions separate from Apache-2.0 code.
  • Keep the native sender and standalone receiver independent of robot control software and the Isaac Capture runtime. Use the isaaccapture logger tree without importing it.
  • Document Install, Preview, Send, Receive and Viewer stages with explicit commands, without a launcher wrapper. Keep operator instructions in this README rather than duplicating them across subdirectories. Local Argus preview is a separate application and must release the sensor before network capture starts.
  • Use HOST_IP/ROBOT_IP discovered for the installation, never developer addresses. Explain source transfer before referencing robot deployment directories.
  • Select sensor modes from --list-modes and match PWM to capture rate. Record hardware validation evidence in the review; keep operator mode tables focused on configuration.
  • Deploy directory renames with documentation and rebuild stale CMake caches. Do not transfer virtual environments, builds or caches between machines.
  • Receiver tests must establish the standalone import path. Check runtime imports and native/receiver tests after trimming dependencies, not just formatting.
  • Preserve encoded frame dependencies across disconnects. CUDA IPC handles stay local to the receiving machine; they are not network transport handles.
  • Preview loops must handle window-close events before rendering another frame.
  • CuPy pixel diagnostics need matching NVRTC; exclude first-use JIT from timing.
  • Normalize final newlines and imported executable permissions before staging.
  • Describe camera support generically; separate upstream device testing from local validation.
  • Use one shared profile per device/resolution; define wire geometry and port once.
  • Keep tests under the example-level tests/ directory, split by language and hardware needs.
  • Public setup instructions target main; describe pre-merge branch overrides separately.
  • Do not infer Argus mode indices from vendor specifications or another model; keep unknown modes explicit in profiles.
  • Keep camera YAMLs directly under configs/ with model-prefixed filenames so profile selection needs no subdirectory.
  • Use matching columns for all camera profile tables so resolution, frame rate and capture constraints are directly comparable. Keep profile alternatives in those tables; show PROFILE assignments in fenced code blocks with an inline selection hint.
  • Preserve HEVC ordering through TCP enqueue and bound receiver work queues; backpressure must remain interruptible during shutdown.
  • Verify unresolved review findings against the current PR head and regression tests; an open thread can describe code already fixed in an earlier commit.
  • Concurrency regression tests must synchronize inside the operation under test; a pre-call flag and a fixed sleep do not establish lock contention.
  • Keep portable tests buildable without Jetson dependencies and each review independently buildable.
  • Keep argus_sender, camera_receiver and cuda_ipc_consumer directly under camera_streamer; do not group standalone transport components under the TeleViz visualization name.

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.