Skip to content

add entire disable --uninstall command#99

Merged
gtrrz-victor merged 9 commits intomainfrom
gtrrz-victor/disable-cmd-lets-uninstall-entire
Jan 27, 2026
Merged

add entire disable --uninstall command#99
gtrrz-victor merged 9 commits intomainfrom
gtrrz-victor/disable-cmd-lets-uninstall-entire

Conversation

@gtrrz-victor
Copy link
Contributor

@gtrrz-victor gtrrz-victor commented Jan 23, 2026

entire disable --uninstall
image

image

Note

Introduces a full uninstall path via entire disable --uninstall (with --force to skip confirmation) to clean a repo of Entire artifacts.

  • Adds uninstall flow that removes .entire/, Entire git hooks, agent hooks (Claude Code, Gemini CLI), session state files, and shadow branches; includes detection and confirmation messaging
  • Implements strategy.RemoveGitHook() and tests; factors common gitHookNames
  • Adds session.StateStore.RemoveAll() with tests; integrates uninstall to purge session state
  • Implements ClaudeCodeAgent.UninstallHooks() to remove Entire hooks and clean permissions.deny rule; adds coverage to preserve user hooks/rules
  • Wires uninstall helpers in setup.go (count/remove functions) and extensive tests for uninstall behaviors and edge cases

Written by Cursor Bugbot for commit c77addd. This will update automatically on new commits. Configure here.

@gtrrz-victor gtrrz-victor requested a review from a team as a code owner January 23, 2026 04:17
Copilot AI review requested due to automatic review settings January 23, 2026 04:17
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds an entire disable --uninstall command that completely removes all Entire CLI components from a repository. The uninstall operation removes git hooks, agent hooks (Claude Code, Gemini CLI), session state files, shadow branches, the metadata branch, and the .entire directory.

Changes:

  • Adds --uninstall and --force flags to the disable command
  • Implements a comprehensive uninstall workflow with confirmation prompt
  • Adds infrastructure for removing git hooks, metadata branches, and session state

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
cmd/entire/cli/setup.go Adds runUninstall function and helper functions for counting/checking/removing Entire components
cmd/entire/cli/strategy/hooks.go Adds RemoveGitHook function to remove git hooks and extracts gitHookNames as a shared variable
cmd/entire/cli/strategy/cleanup.go Adds MetadataBranchExists and DeleteMetadataBranch functions for metadata branch management
cmd/entire/cli/session/state.go Adds RemoveAll method to StateStore for removing all session state files
cmd/entire/cli/agent/claudecode/hooks.go Implements UninstallHooks method to remove Claude Code hooks and permissions

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Copilot AI review requested due to automatic review settings January 23, 2026 04:50
@gtrrz-victor gtrrz-victor force-pushed the gtrrz-victor/disable-cmd-lets-uninstall-entire branch from 79e5f3a to 5232d2a Compare January 23, 2026 04:50
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 3 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

Copy link
Contributor

@khaong khaong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM but you have conflicts and comments from our 🤖 friends...

Copilot AI review requested due to automatic review settings January 27, 2026 05:21
@gtrrz-victor gtrrz-victor force-pushed the gtrrz-victor/disable-cmd-lets-uninstall-entire branch from d7b4ac5 to 4b41a9a Compare January 27, 2026 05:21
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Comments suppressed due to low confidence (1)

cmd/entire/cli/session/session_test.go:12

  • The imports in this file are not properly grouped. Standard library imports "os" and "path/filepath" should be in a separate group from third-party imports. According to Go conventions and the gofmt tool, standard library imports should come first, followed by a blank line, then third-party imports.

The imports should be organized as:

import (
	"context"
	"os"
	"path/filepath"
	"testing"
	"time"

	"github.com/go-git/go-git/v5"
)
import (
	"context"

	"os"
	"path/filepath"
	"testing"
	"time"

	"github.com/go-git/go-git/v5"
)

Copilot AI review requested due to automatic review settings January 27, 2026 05:47
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (1)

cmd/entire/cli/session/session_test.go:12

  • The import statement has incorrect grouping. There should not be a blank line between "context" and the other standard library imports ("os", "path/filepath", "testing", "time"). Standard library imports should be grouped together, separated by a blank line from external imports. This will be caught by gofmt and should be fixed before merging.
import (
	"context"

	"os"
	"path/filepath"
	"testing"
	"time"

	"github.com/go-git/go-git/v5"
)

@gtrrz-victor gtrrz-victor merged commit ea549e4 into main Jan 27, 2026
10 checks passed
@gtrrz-victor gtrrz-victor deleted the gtrrz-victor/disable-cmd-lets-uninstall-entire branch January 27, 2026 22:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants