stablyai / stablyai/orca

Add discoverable repo unregister command and cleanup guidance

Open
#9,028 0 comments 0 reactions 1 assignee Claimed by @brennanb2025 View on GitHub
enhancement
Dominant language
TypeScript
Stars
69.7k
Forks
4.5k
Avg merge
16h 8m
Merged PRs (30d)
451

Description

## Summary

`orca repo add` has no discoverable symmetric remove command in the `repo` command family. Repository registrations can actually be removed with `orca project setup-delete --setup `, but an agent or operator starting from `repo add`, `repo list`, and `repo show` has no indication that this cross-namespace command is the cleanup path.

This caused real-runtime tests using randomized temporary repositories to leave persistent standalone project rows in the sidebar.

## Reproduction

1. Create a temporary Git repository.
2. Run `orca repo add --path --json`.
3. Remove the temporary directory or finish the test.
4. Run `orca repo list --json`; the registration remains.
5. Run `orca repo --help`; there is no `rm`, `remove`, or `unregister` command.
6. `orca project setup-delete --setup --json` does remove the registration, but that relationship is not exposed by the repo command family.

In one test session this left eight sidebar projects; six pointed to temporary paths that no longer existed.

## Expected behavior

Please provide a discoverable, idempotent repo unregister path, preferably `orca repo rm --repo --json`, that removes Orca registration metadata without deleting the filesystem repository. If the intended public API remains `project setup-delete`, then `repo add` output and repo help should identify the exact cleanup command and selector.

## Suggested acceptance criteria

- Unregistering removes the repo/project row from `repo list`, `project list`, and the sidebar.
- The underlying filesystem directory is preserved.
- Repeating unregister is either idempotent success or returns a specific already-absent result.
- Active terminals or worktrees fail closed with an actionable message.
- CLI tests cover add → unregister and filesystem preservation.
- Real-runtime smoke tests unregister temporary repos during cleanup.

## Compatibility notes

The implementation should preserve local, SSH, and remote-host behavior and should not assume GitHub as the provider.

Related downstream smoke coverage: https://github.com/kunchenguid/firstmate/pull/622

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.