CommandCodeAI / CommandCodeAI/command-code
[ Feature Request ] Richer UI options in mods (ANSI support, spinners, layout helpers)
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 4k
- Forks
- 350
- PR merge metrics
- No merged PRs in 30d
Description
Summary
When building interactive mods, we are limited to displaying raw text strings inside "cmd.ui.select()" and "cmd.ui.notify()". Creating structured layouts or showing background progress currently requires custom ASCII drawing or raw terminal printing, which is complex to keep aligned and does not support native-looking animations like spinners.
Expected Behavior
We would love to see the Mod Harness UI (cmd.ui) enriched with standard CLI primitives:
- ANSI Color Support: Allow titles inside selectors to parse standard color codes (e.g. using
chalkor ANSI codes) to highlight choices or display clean warnings. - Native Spinners: A simple loading indicator API for long-running processes (e.g., repository checks, configuration setups):
const spinner = cmd.ui.spinner("Loading configuration..."); await task(); spinner.success("Done!");
3.Layout Primitives: Simple helper functions to display dividers or panels without having to manually calculate character lengths and borders in strings.
Providing these primitives natively would allow developers to build premium, consistent community mods that look and feel like built-in features of Command Code.
Actual Behavior
Installing standard Node/Bun packages like ora or @clack/prompts, but they require direct TTY controls which the harness sandbox does not permit.
Steps to reproduce the issue
- create a mod
Command Code Version
1.4.2
Operating System
macOS
Terminal/IDE
ghostty
Shell
command
Additional context
No response
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the Mod Harness APIs cmd.ui.select() and cmd.ui.notify(), then review the sandbox constraints that prevent ora and @clack/prompts from controlling the TTY. Done would mean a defined, tested approach for ANSI titles, native spinners, and divider or panel helpers exposed through cmd.ui.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bun, node.js, typescript
- Domain
- cli, developer-experience
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100