Skip to content

Remove progress bar - #38

Open
Ngha-Boris wants to merge 2 commits into
mainfrom
remove-progress-bar
Open

Remove progress bar#38
Ngha-Boris wants to merge 2 commits into
mainfrom
remove-progress-bar

Conversation

@Ngha-Boris

Copy link
Copy Markdown
Collaborator

Remove progress bar from package installation script

Summary

Removes the ASCII progress bar rendering from the generated SudoStart setup script. The progress bar (based on draw_progress_bar, PROGRESS_WIDTH, and clear_line) added noisy multi-line output between each package step, cluttering the install log.

Changes

  • src/domain/services/script-generator.ts
    • Removed the draw_progress_bar shell function definition and the PROGRESS_WIDTH constant.
    • Removed the clear_line helper that was only used in support of the progress bar.
    • Removed the draw_progress_bar ... call from each package installation step.

Behavior

  • Generated scripts no longer print the overall progress bar between package installations.
  • The step header (step_header) and spinner feedback during installs are preserved, so output remains informative without the redundant progress display.
  • No change to install commands, package ordering, or error handling.

Testing

  • Typecheck passes (tsc --noEmit).
  • No existing tests referenced the removed progress-bar output.

…ipts

- Implemented ScriptOutput component to generate Bash scripts, Brewfiles, and Curl URLs based on user-selected OS and packages.
- Added functionality for copying scripts to clipboard and downloading them.
- Integrated a shareable Curl URL feature with expiration handling.
- Included a summary of selected packages and installation estimates.

feat: create useClientUseCases hook for accessing client use cases

- Introduced useClientUseCases hook to encapsulate client container access, improving code organization and reusability.

chore: add Vitest configuration for testing

- Set up Vitest configuration with aliasing for module resolution and coverage thresholds.
- Configured test environment and included coverage reporting for domain and application layers.
@vercel

vercel Bot commented Aug 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
sudo-start Ready Ready Preview Aug 11, 2026 4:47pm

@greptile-apps

greptile-apps Bot commented Aug 11, 2026

Copy link
Copy Markdown

Greptile Summary

The PR is a broad hexagonal-architecture refactor that moves domain workflows behind use cases and adapters while retaining compatibility exports for existing UI imports. It also removes generated-script progress-bar output as described.

  • Adds domain entities, value objects, repositories, application use cases, infrastructure adapters, dependency containers, and architecture documentation.
  • Refactors chat, version lookup, script sharing, package management, bucket state, and script generation onto the new boundaries.
  • Adds unit and coverage configuration to CI and removes progress-bar helpers and calls from generated setup scripts.

Confidence Score: 5/5

The PR appears safe to merge because no concrete changed-code failure remains after checking the refactored runtime and security-sensitive paths.

Script input limits, shared-script expiration, identifier validation, filesystem containment, API delegation, and generated-script behavior retain their relevant contracts across the new use-case and adapter boundaries.

Important Files Changed

Filename Overview
src/domain/services/script-generator.ts Moves script generation into the domain service and removes progress-bar generation while preserving package-step headers and spinner behavior.
src/app/api/script-share/route.ts Delegates script validation and persistence to the sharing use case and adapter; equivalent size and expiry enforcement remains downstream.
src/infrastructure/adapters/sharing/file-script-share.adapter.ts Encapsulates file-backed sharing with validated identifiers, path containment, and 24-hour retrieval expiry.
src/app/api/chat/route.ts Reduces the route to HTTP validation, rate limiting, and delegation to the injected chat use case.
src/infrastructure/adapters/ai/groq.adapter.ts Moves Groq client initialization, prompting, and SSE stream construction behind the AI provider port.
src/app/api/versions/route.ts Delegates registry lookup and caching to the version repository while preserving rate limits and stale-cache fallback.
src/lib/store.ts Routes bucket mutations and catalog lookups through the client-side bucket use case while retaining Zustand persistence.
.github/workflows/ci.yml Adds coverage-backed unit tests to the lint and type-check job.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  UI[Presentation components] --> UC[Application use cases]
  API[Next.js API routes] --> UC
  UC --> Domain[Domain entities and services]
  UC --> Ports[Outgoing ports]
  Adapters[Infrastructure adapters] --> Ports
  Adapters --> External[Groq, registries, filesystem, browser storage]
Loading

Reviews (1): Last reviewed commit: "refactor: remove progress bar functions ..." | Re-trigger Greptile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant