RFC: Project direction for v1.2+ — LLM-assisted Aura making studio #43
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
v1.0 is shipped. v1.1.X scope is foundation work (bug fixes, test scaffolding, dead-file cleanup) and does not depend on this decision. This RFC settles what rgb-aura aims to be in v1.2+.
Natural follow-on to
docs/llm-project-workflow.md: that doc covered using an LLM to build rgb-aura. This RFC asks whether the next chapter should be a tool where the LLM helps users design their own RGB animations — same human-in-the-loop philosophy, one layer up.Two avenues considered
Avenue 1 — Full GUI Aura making studio. Build a Linux equivalent of ASUS Aura Creator: timeline editor, preview canvas, profile manager, color pickers, hardware test loops. Familiar paradigm, large scope, year-plus of work, lands as "almost as good as OpenRGB GUI + Aura Creator clone."
Avenue 2 — LLM-assisted Aura making studio. rgb-aura becomes the substrate for LLM-driven design. User describes the animation they want; an LLM produces working animation code using rgb-aura's API + a shipped context pack (primitives, examples, OpenRGB conventions, canonical prompt). Scope is bounded — the "studio" is the LLM. Plays to rgb-aura's existing strengths (safety architecture, modular animation registry, dry-run mode are exactly what an LLM needs to be productive). Multiplatform-friendly via OpenRGB + Python.
Prior art (May 2026)
Independently researched across three LLMs before writing this RFC. Full receipts in
docs/research/2026-05-10-prior-art-{perplexity,gemini,claude}.md. Summary:Honest novelty verdict: partially novel. The high-level UX is no longer unprecedented — Skydimo and Lumia Stream have shipped commercial versions. Genuinely novel in implementation:
That's a defensible niche.
Recommendation: Avenue 2
Avenue 1 risks a year-plus rebuilding what OpenRGB's GUI + Aura Creator already do, on Linux, less polished. Avenue 2 ships a different category of product in a niche where the commercial alternatives are vendor-locked or paradigm-different. Better fit for a solo + LLM-assisted developer.
What Avenue 2 requires from v1.2+
These graduate from "nice to have" to "required":
runtime.py:_scheduler_weightsubstring-matches"thermaltake","140","fractal"— ties scheduler behavior to Jack's specific zone names. An LLM can't generate working animations under that coupling. Weights become a per-zone field inruntime_config.json.thermaltake_aurora.py= 1262 lines for 36 LEDs). Need to accept(zone_led_count, usable_indexes)so an LLM can writeaurora_wave(zone_led_count=N)rather than hand-crafting arrays.What's NOT decided here
Questions
docs/project-direction.md+ the three research files via PR, closing this RFC?Yeah i agree that avenue 2 is the way to go too.
Eventually a small gui just so user can easily setup their instance would be great.
But most people running linux should be confortable with some console work. We can easily keep that to a minimum and a semi interactive console setup.
The more moving parts, the more risk we have that something go wrong, and more maintenance to do. Do you want to start feathering the project? Or i can do it. LLM session to basically flesh out the project, what milestone we need to create, and create all the issue that will be coded and tested one by one.
The first thing we need to do is iron out the already present issue, clean up the file that are there that do nothing that Claude already suggested. If you want to do that go for it. Ask claude to respect a rigorous GIT workflow so that every modification is traceable. For the bugs themselves, you can create an issue, and a branch for tha issue. When everything is tested we will merge and proceed to the next. I dont know if you can merge with you user status on the project.
Confirmed I have write access on the repo — checked via API,
writepermission, can push, branch, and merge PRs. So we're good on that side.Taking you up on the v1.1.X cycle and leaving v1.2 planning to your LLM session — your project, your fingerprints on direction belong there. Claude handles the v1.1.X work, me reviewing along the way, you merging.
Heads up on the asymmetry: Claude has direct repo access via API on my end, so issues, branches, and PRs all happen straight from this side. You're driving GPT through copy/paste in the browser, so we'll keep PRs small, well-described, and easy for you to read and merge in batches. This is my first time collaborating on someone else's repo, so I'm erring careful — small atomic PRs, nothing touches main directly, every change tied to an issue, nothing self-merged.
One workflow note: I'd like to keep project conversations here on the repo rather than Discord where possible. Things get missed when discussion splits across platforms, and the repo gives us a permanent traceable record. Discord stays fine for off-topic / quick stuff.
Plan:
docs/project-direction.mdand the three research files (docs/research/2026-05-10-prior-art-{perplexity,gemini,claude}.md) documenting the v1.2+ direction decision. PR closes #43.v1.1.X work I'm proposing, based on Claude's earlier code review:
runtime.py:825UnboundLocalErrorfix + regression testtests/test_device_mapping.py+tests/conftest.py— populate the empty test dirleave_dark_bluedefault vsdocs/safe-failure-modes.mdmismatch — your call on flip-default vs amend-docFlag anything out of scope for v1.1.X before we start. Sound good?
Yeah thats perfect.
I agree with everything.
I have discovered another other bug to solve while using it. It almost never start correctly from the service. Openrgb seem to never discover my GPU until i open it and rescan the devices. Only then the service start on it's next retry. So in the 1.0.X branch we we will start, you can do the file cleanup as 1.0.1, then issue 1.0.2 would be the rest of the bugs previously mentionned. 1.0.3 would be to find a way to make the SDK auto re-scan devices on startup before starting the aura service itself. When the bugs will be dealt with, 1.1.X branch would be the start of the developement of the avenue already discussed, that will culminate in version 1.2 that will be the first stable version we have of the working improvement of the LLM assisted aura creation tool. This issue itself will have no branch for it, it is only used to set the plan for the future.
I also never worked in cooperation on a project yet. It is part of why i wanted to start using repo so the experience will benefit us both for sure.
I just asked GPT about the collaborative workflow and proper branching of the repo and this is the answer :
I think we should use a slightly more formal branch structure now that collaboration is starting:
mainstays stable and only receives tested release-ready code.developbecomes the integration/testing branch.develop.developafter review/testing.developis merged intomain, then tagged.main.For urgent fixes to the current stable release, we can branch from
mainashotfix/..., merge back intomain, tag the patch release, then merge/cherry-pick that fix back intodevelop.This should keep
mainclean while still allowing us to test several small PRs before deciding when a new tag is justified.Closing this RFC as resolved.
The project direction for v1.2+ is now chosen: RGB Aura will move toward Avenue 2, the LLM-assisted Aura making studio approach, rather than trying to become a full traditional GUI/Aura Creator clone.
This issue served its purpose as a direction-setting discussion. The decision is documented in the conversation, the development path has been agreed on, and several practical steps have already been put in place toward that goal:
No branch is required for this RFC itself. Follow-up implementation work will continue through dedicated issues and PRs.
Resolved as a planning/direction issue.