Local Build and Run
SkillDev toolsLets your agent build, run, and configure the rtp2httpd daemon locally, including editing its config files.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Local Build and Run skill
About this capability
Build, run, and configure rtp2httpd locally. Use this skill whenever the user wants to compile the project, start the daemon, pass command-line arguments, edit configuration, or troubleshoot build/runtime issues. Also activate when the user mentions cmake, build directory, rtp2httpd.conf, web-ui bui
What this skill tells your AI
The instructions your AI receives, as published by stackia/rtp2httpd in .agents/skills/build-run/SKILL.md and read by ahel’s review.
Run commands from the repository root. Use the toolchain conventions in AGENTS.md.
Cursor Cloud's startup setup installs locked pnpm dependencies and runs uv sync --group dev. Reuse that environment; repeat setup only when dependencies are missing or changed.
Build the needed components
For embedded UI changes, rebuild the frontend before the C binary. C-only changes can use the committed header without Node.js. Follow package.json for build scripts and CMakeLists.txt for current options.
# When Web UI sources or build inputs changed:
pnpm run web-ui:build
cmake -B build -DCMAKE_BUILD_TYPE=Release -DENABLE_AGGRESSIVE_OPT=ON
cmake --build build -j$(getconf _NPROCESSORS_ONLN)
Release is the default for normal builds. Use Debug/RelWithDebInfo or pnpm run web-ui:build:debug when diagnosis needs symbols or source maps. ENABLE_AGGRESSIVE_OPT enables LTO and fast-math and defaults to OFF in CMake; disable it when investigating optimization-sensitive behavior.
The binary is build/rtp2httpd. The generated header follows the commit boundary in AGENTS.md.
Run and configure
Use an unused port, bind a local preview to loopback, and avoid loading a deployed configuration accidentally:
./build/rtp2httpd -C -v -v -v -v -l 127.0.0.1:8080
-C skips the default config; -c <file> selects a config; -l [addr:]port sets the listener. For a config-based reproduction, inspect that file's listeners and upstreams first. Use ./build/rtp2httpd --help for current flags.
- For INI settings and
[global],[bind],[services]examples, read rtp2httpd.conf and the relevant section of Configuration Reference. CLI settings take precedence. - For stream paths and query parameters, read URL Formats. The
/rtp/,/rtsp/, and/http/prefixes choose different protocol handlers. - For player scenarios using mock upstreams, use devlab.
- For automated daemon behavior checks, use e2e.
Verify the requested behavior
curl --fail http://127.0.0.1:8080/status checks basic readiness. Playback, seek, or rendering work also needs the affected stream/player scenario; a status response alone does not verify it. Reuse the chosen listener port in checks, and stop the task's daemon when finished. If a port is occupied, choose another port rather than terminating an unrelated process.
Signals
- GitHub stars
- 2k
- Forks
- 312
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
build-run- Source
- github.com/stackia/rtp2httpd