erfanium / erfanium/h8-cli

FEATURE: ship h8 app restart/stop/start commands

Open
#14 0 comments 0 reactions 0 assignees View on GitHub
ai-agent enhancement P1-high
Dominant language
TypeScript
Stars
0
Forks
1
PR merge metrics
No merged PRs in 30d

Description

## Problem

`src/commands/app/restart.ts`, `stop.ts`, and `start.ts` exist in the source tree but are not compiled/shipped. The stop command uses `PATCH /api/v1/darkube/apps/:id/` with `is_enabled: false` — exactly what's needed during migrations when you want to shut down an app, do work on its persistent disk, then restart.

During a Grist data migration, I had to use raw API calls for this instead of a simple:
```bash
h8 app stop grist
```

## Files to ship

- `src/commands/app/stop.ts` — sets `is_enabled: false` (already written)
- `src/commands/app/start.ts` — sets `is_enabled: true` (already written)
- `src/commands/app/restart.ts` — stop + wait + start (already written)
- `src/commands/app/pods.ts` — list pods for an app (already written)

## Proposed usage

```bash
h8 app stop grist # scale to 0
h8 app start grist # scale to 1
h8 app restart grist # rolling restart for debugging
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by inspecting how the TypeScript files under src/commands/app are compiled and exposed by the CLI, focusing on stop.ts, start.ts, restart.ts, and pods.ts. Build the project and verify that h8 app stop, start, restart, and pods are shipped and invoke the intended commands, including stop/start behavior and restart sequencing.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.