π Description
Currently, copilot_here relies on a mix of .sh and .ps1 scripts to orchestrate the Docker container and CLI interactions. While this works, it has become brittle and difficult to maintain. Making changes often feels risky because we lack the safety of a compiled language, and cross-platform compatibility (Windows/Mac/Linux) is harder to guarantee with shell scripts.
We need to move this logic into a unified, solid application structure. This will improve testability, maintainability, and confidence in future changes.
Critical Requirement: The replacement must have near-instant startup time. Any perceptible lag (e.g., waiting for a JIT compiler) will ruin the user experience of the wrapper.
βοΈ Technology Options to Evaluate
- Native Rust App π¦
- Pros: Blazing fast startup, memory safety, produces a single small binary.
- Cons: Higher learning curve if contributors aren't familiar with Rust.
- Native .NET App (via Native AOT) π£
- Pros: Familiar ecosystem (C#), strong tooling.
- Note: Must use Native AOT (Ahead-of-Time) compilation to eliminate JIT startup time and reduce binary size. Standard .NET runtime is likely too slow for this use case.
- Go (Golang) πΉ
- Pros: Built for CLIs (like Docker/Kubernetes/GH CLI), very fast startup, easy cross-compilation.
β
Acceptance Criteria
ποΈ Cleanup
π Description
Currently,
copilot_hererelies on a mix of.shand.ps1scripts to orchestrate the Docker container and CLI interactions. While this works, it has become brittle and difficult to maintain. Making changes often feels risky because we lack the safety of a compiled language, and cross-platform compatibility (Windows/Mac/Linux) is harder to guarantee with shell scripts.We need to move this logic into a unified, solid application structure. This will improve testability, maintainability, and confidence in future changes.
Critical Requirement: The replacement must have near-instant startup time. Any perceptible lag (e.g., waiting for a JIT compiler) will ruin the user experience of the wrapper.
βοΈ Technology Options to Evaluate
β Acceptance Criteria
ποΈ Cleanup
.shand.ps1orchestration scripts from the repo once the migration is verified.