GitHub Trending Repositories

gitbutlerapp/gitbutler

Author: gitbutlerapp

Stars: 376 stars today

Description: The GitButler version control client, backed by Git, powered by Tauri/Rust/Svelte

README

Our beautiful GUI


Our amazing but CLI



Git, but better. GitButler is a modern Git-based version control interface with both a GUI and CLI built from the ground up for AI-powered workflows.

Website   •   Blog   •   Docs   •   Downloads

[![TWEET][s1]][l1] [ ![BLUESKY][s8]][l8 ] [![DISCORD][s2]][l2] [![CI][s0]][l0] [![INSTA][s3]][l3] [![YOUTUBE][s5]][l5] [![DEEPWIKI][s7]][l7] [s0]: https://github.com/gitbutlerapp/gitbutler/actions/workflows/push.yaml/badge.svg [l0]: https://github.com/gitbutlerapp/gitbutler/actions/workflows/push.yaml [s1]: https://img.shields.io/badge/Twitter-black?logo=x&logoColor=white [l1]: https://twitter.com/intent/follow?screen_name=gitbutler [s2]: https://img.shields.io/discord/1060193121130000425?label=Discord&color=5865F2 [l2]: https://discord.gg/MmFkmaJ42D [s3]: https://img.shields.io/badge/Instagram-E4405F?logo=instagram&logoColor=white [l3]: https://www.instagram.com/gitbutler/ [s5]: https://img.shields.io/youtube/channel/subscribers/UCEwkZIHGqsTGYvX8wgD0LoQ [l5]: https://www.youtube.com/@gitbutlerapp [s7]: https://deepwiki.com/badge.svg [l7]: https://deepwiki.com/gitbutlerapp/gitbutler [s8]: https://img.shields.io/badge/Bluesky-0285FF?logo=bluesky&logoColor=fff [l8]: https://bsky.app/profile/gitbutler.com


GitButler is a powerful new Git-based version control system, designed from scratch to be simple, powerful and flexible. It is designed for ease of use and modern agentic workflows.

It features stacked branches, parallel branches, unlimited undo, easy commit mutations, forge integrations and more.

Works instantly in any existing Git repo as a friendlier and more powerful drop-in Git user interface replacement - for you and your agents.

Main Features

Why use GitButler instead of vanilla Git? What a great question.

Tech

The GitButler desktop app is a Tauri-based application. Its UI is written in Svelte using TypeScript and its backend is written in Rust.

The but CLI is the same Rust backend engine with a Rust command line UI.

Documentation

You can find our end user documentation at: https://docs.gitbutler.com

Bugs and Feature Requests

If you have a bug or feature request, feel free to open an issue, or join our Discord server.

License

The TLDR is that GitButler is under a Fair Source software license, meaning that you can use it, view the source, contribute, etc. You just can't build a competitor with it. It also becomes MIT after 2 years. So, MIT with an expiring non-compete clause.

Contributing

So you want to help out? Please check out the CONTRIBUTING.md document.

If you want to skip right to getting the code to actually compile, take a look at the DEVELOPMENT.md file.

Contributors

File Structure

📁 .cargo
📄 .cargo/config.toml
📄 .envrc
📄 .gitattributes
📁 .github
📁 .github/ISSUE_TEMPLATE
📄 .github/ISSUE_TEMPLATE/1_bug.yml
📄 .github/ISSUE_TEMPLATE/2_documentation.yml
📄 .github/ISSUE_TEMPLATE/config.yml
📄 .github/PULL_REQUEST_TEMPLATE.md
📁 .github/actions
📁 .github/actions/init-env-node
📄 .github/actions/init-env-node/action.yaml
📄 .github/copilot-instructions.md
📄 .github/dependabot.yml
📄 .github/pr-labeler.yml
📁 .github/workflows
📄 .github/workflows/pr-labeler.yml
📄 .github/workflows/publish.include.txt
📄 .github/workflows/publish.yaml
📄 .github/workflows/push-e2e-img.yml
📄 .github/workflows/push.yaml
📄 .github/workflows/test-e2e-blackbox.yml
📄 .github/workflows/test-e2e-playwright.yml
📄 .github/workflows/test-web.yml
📄 .github/workflows/zizmor.yml
📄 .gitignore
📄 .mailmap
📄 .npmrc
📄 .nvmrc
📄 .prettierignore
📄 .prettierrc.mjs
📄 .taurignore
📁 .vscode
📄 .vscode/extensions.json
📄 .vscode/settings.json
📄 CODEOWNERS
📄 CODE_OF_CONDUCT.md
📄 CONTRIBUTING.md
📄 Cargo.lock
📄 Cargo.toml
📄 DEVELOPMENT.md
📄 LICENSE.md
📄 LINUX.md
📄 README.md
📄 SECURITY.md
📄 aoc.md
📁 apps
📁 apps/desktop
📄 apps/desktop/.env.development
📄 apps/desktop/.env.nightly
📄 apps/desktop/.env.production
📄 apps/desktop/.env.testing
📄 apps/desktop/README.md
📄 apps/desktop/cypress.config.ts
📄 apps/desktop/package.json
📄 apps/desktop/postcss.config.js
📁 apps/desktop/src
📄 apps/desktop/src/app.d.ts
📄 apps/desktop/src/app.html
📁 apps/desktop/src/components
📄 apps/desktop/src/components/AIPromptEdit.svelte
📄 apps/desktop/src/components/AIPromptSelect.svelte
📄 apps/desktop/src/components/AddDependentBranchModal.svelte
📄 apps/desktop/src/components/AiCredentialCheck.svelte
📄 apps/desktop/src/components/AnalyticsConfirmation.svelte
📄 apps/desktop/src/components/AnalyticsMonitor.svelte
📄 apps/desktop/src/components/AnalyticsSettings.svelte
📄 apps/desktop/src/components/AppUpdater.svelte
📄 apps/desktop/src/components/AppUpdater.test.ts
📄 apps/desktop/src/components/AuthorMissingModalContent.svelte
📄 apps/desktop/src/components/AuthorizationBanner.svelte
📄 apps/desktop/src/components/AutoCommitModalContent.svelte
📄 apps/desktop/src/components/BaseBranchSwitch.svelte
📄 apps/desktop/src/components/BranchBadge.svelte
📄 apps/desktop/src/components/BranchCard.svelte
📄 apps/desktop/src/components/BranchCommitList.svelte
📄 apps/desktop/src/components/BranchDetails.svelte
📄 apps/desktop/src/components/BranchDividerLine.svelte
📄 apps/desktop/src/components/BranchExplorer.svelte
📄 apps/desktop/src/components/BranchHeader.svelte
📄 apps/desktop/src/components/BranchHeaderContextMenu.svelte
📄 apps/desktop/src/components/BranchHeaderIcon.svelte
📄 apps/desktop/src/components/BranchInsertion.svelte
📄 apps/desktop/src/components/BranchIntegrationModal.svelte
📄 apps/desktop/src/components/BranchLabel.svelte
📄 apps/desktop/src/components/BranchLineOverlay.svelte
📄 apps/desktop/src/components/BranchList.svelte
📄 apps/desktop/src/components/BranchNameTextbox.svelte
📄 apps/desktop/src/components/BranchRenameModal.svelte
📄 apps/desktop/src/components/BranchReview.svelte
📄 apps/desktop/src/components/BranchView.svelte
📄 apps/desktop/src/components/BranchesView.svelte
📄 apps/desktop/src/components/BranchesViewBranch.svelte
📄 apps/desktop/src/components/BranchesViewCommitContextMenu.svelte
📄 apps/desktop/src/components/BranchesViewPR.svelte
📄 apps/desktop/src/components/BranchesViewStack.svelte
📄 apps/desktop/src/components/CanPublishReviewPlugin.svelte
📄 apps/desktop/src/components/CardOverlay.svelte
📄 apps/desktop/src/components/ChangedFilesContextMenu.svelte
📄 apps/desktop/src/components/ChecksPolling.svelte
📄 apps/desktop/src/components/CherryApplyModal.svelte
📄 apps/desktop/src/components/Chrome.svelte
📄 apps/desktop/src/components/ChromeErrorBoundary.svelte
📄 apps/desktop/src/components/ChromeHeader.svelte
📄 apps/desktop/src/components/ChromeSidebar.svelte
📄 apps/desktop/src/components/ClaudeCodeSessionFilter.svelte
📄 apps/desktop/src/components/ClaudeSessionDescriptor.svelte
📄 apps/desktop/src/components/CloneForm.svelte
📄 apps/desktop/src/components/CloudForm.svelte
📄 apps/desktop/src/components/CodegenRow.svelte
📄 apps/desktop/src/components/CollapseStackButton.svelte
📄 apps/desktop/src/components/CollapsedLane.svelte
📄 apps/desktop/src/components/CommitContextMenu.svelte
📄 apps/desktop/src/components/CommitDetails.svelte
📄 apps/desktop/src/components/CommitFailedFileEntry.svelte
📄 apps/desktop/src/components/CommitFailedModalContent.svelte
📄 apps/desktop/src/components/CommitGoesHere.svelte
📄 apps/desktop/src/components/CommitLine.svelte
📄 apps/desktop/src/components/CommitLineOverlay.svelte
📄 apps/desktop/src/components/CommitMessageEditor.svelte
📄 apps/desktop/src/components/CommitRow.svelte
📄 apps/desktop/src/components/CommitSigningForm.svelte
📄 apps/desktop/src/components/CommitTitle.svelte
📄 apps/desktop/src/components/CommitView.svelte
📄 apps/desktop/src/components/ConfigurableScrollableContainer.svelte
📄 apps/desktop/src/components/ConflictResolutionConfirmModal.svelte
📄 apps/desktop/src/components/Content.svelte
📄 apps/desktop/src/components/CreateBranchModal.svelte
📄 apps/desktop/src/components/CreateReviewBox.svelte
📄 apps/desktop/src/components/CreateSnapshotModal.svelte
📄 apps/desktop/src/components/CredentialCheck.svelte
📄 apps/desktop/src/components/DecorativeSplitView.svelte
📄 apps/desktop/src/components/DeleteBranchModal.svelte
📄 apps/desktop/src/components/DetailsForm.svelte
📄 apps/desktop/src/components/DialogBubble.svelte
📄 apps/desktop/src/components/DraftBranchHeader.svelte
📄 apps/desktop/src/components/Drawer.svelte
📄 apps/desktop/src/components/Dropzone.svelte
📄 apps/desktop/src/components/EditMode.svelte
📄 apps/desktop/src/components/EditPatchConfirmModal.svelte
📄 apps/desktop/src/components/EnsureAuthorInfo.svelte
📄 apps/desktop/src/components/FileList.svelte
📄 apps/desktop/src/components/FileListItemWrapper.svelte
📄 apps/desktop/src/components/FileListMode.svelte
📄 apps/desktop/src/components/FileMenuAction.svelte
📄 apps/desktop/src/components/FilePreviewPlaceholder.svelte
📄 apps/desktop/src/components/FileTreeNode.svelte
📄 apps/desktop/src/components/FileViewHeaderWrapper.svelte
📄 apps/desktop/src/components/FloatingCommitBox.svelte
📄 apps/desktop/src/components/FocusCursor.svelte
📄 apps/desktop/src/components/ForgeAccountConfig.svelte
📄 apps/desktop/src/components/ForgeForm.svelte
📄 apps/desktop/src/components/FullviewLoading.svelte
📄 apps/desktop/src/components/GeneralSettingsModalContent.svelte
📄 apps/desktop/src/components/GerritForm.svelte
📄 apps/desktop/src/components/GerritPushModal.svelte
📄 apps/desktop/src/components/GitForm.svelte
📄 apps/desktop/src/components/GitHooksForm.svelte
📄 apps/desktop/src/components/GitHubAccountBadge.svelte
📄 apps/desktop/src/components/GitLabAccountBadge.svelte
📄 apps/desktop/src/components/GithubIntegration.svelte
📄 apps/desktop/src/components/GithubUserLoginState.svelte
📄 apps/desktop/src/components/GitlabIntegration.svelte
📄 apps/desktop/src/components/GitlabUserLoginState.svelte
📄 apps/desktop/src/components/GlobalModal.svelte
📄 apps/desktop/src/components/GlobalSettingsMenuAction.svelte
📄 apps/desktop/src/components/HunkContextMenu.svelte
📄 apps/desktop/src/components/IconLink.svelte
📄 apps/desktop/src/components/ImageDiff.svelte
📄 apps/desktop/src/components/IntegrateUpstreamModal.svelte
📄 apps/desktop/src/components/IrcChannel.svelte
📄 apps/desktop/src/components/IrcChannels.svelte
📄 apps/desktop/src/components/IrcChat.svelte
📄 apps/desktop/src/components/IrcInput.svelte
📄 apps/desktop/src/components/IrcMessages.svelte
📄 apps/desktop/src/components/IrcNames.svelte
📄 apps/desktop/src/components/IrcPopups.svelte
📄 apps/desktop/src/components/KeysForm.svelte
📄 apps/desktop/src/components/LargeDiffMessage.svelte
📄 apps/desktop/src/components/LazyList.svelte
📄 apps/desktop/src/components/LazyloadContainer.svelte
📄 apps/desktop/src/components/LineLocksWarning.svelte
📄 apps/desktop/src/components/LoginButtons.svelte
📄 apps/desktop/src/components/LoginConfirmationModalContent.svelte
📄 apps/desktop/src/components/MainViewport.svelte
📄 apps/desktop/src/components/MergeButton.svelte
📄 apps/desktop/src/components/MultiDiffView.svelte
📄 apps/desktop/src/components/MultiStackOfflaneDropzone.svelte
📄 apps/desktop/src/components/MultiStackPagination.svelte
📄 apps/desktop/src/components/MultiStackView.svelte
📄 apps/desktop/src/components/NestedChangedFiles.svelte
📄 apps/desktop/src/components/NewCommitView.svelte
📄 apps/desktop/src/components/NewRuleMenu.svelte
📄 apps/desktop/src/components/NoBaseBranch.svelte
📄 apps/desktop/src/components/NotOnGitButlerBranch.svelte
📄 apps/desktop/src/components/PRBranchView.svelte
📄 apps/desktop/src/components/PrNumberUpdater.svelte
📄 apps/desktop/src/components/PrStatusBadge.svelte
📄 apps/desktop/src/components/PrTemplateSection.svelte
📄 apps/desktop/src/components/PreferencesForm.svelte
📄 apps/desktop/src/components/PreviewHeader.svelte
📄 apps/desktop/src/components/ProblemLoadingRepo.svelte
📄 apps/desktop/src/components/ProfileButton.svelte
📄 apps/desktop/src/components/ProjectConnectModal.svelte
📄 apps/desktop/src/components/ProjectNameLabel.svelte
📄 apps/desktop/src/components/ProjectNotFound.svelte
📄 apps/desktop/src/components/ProjectSettingsMenuAction.svelte
📄 apps/desktop/src/components/ProjectSettingsModalContent.svelte
📄 apps/desktop/src/components/ProjectSetup.svelte
📄 apps/desktop/src/components/ProjectSetupTarget.svelte
📄 apps/desktop/src/components/ProjectSwitcher.svelte
📄 apps/desktop/src/components/PromptModal.svelte
📄 apps/desktop/src/components/PullRequestCard.svelte
📄 apps/desktop/src/components/PullRequestPolling.svelte
📄 apps/desktop/src/components/PushButton.svelte
📄 apps/desktop/src/components/ReduxResult.svelte
📄 apps/desktop/src/components/ReloadMenuAction.svelte
📄 apps/desktop/src/components/ReloadWarning.svelte
📄 apps/desktop/src/components/RemoveProjectButton.svelte
📄 apps/desktop/src/components/RemoveProjectForm.svelte
📄 apps/desktop/src/components/Resizer.svelte
📄 apps/desktop/src/components/ReviewCreation.svelte
📄 apps/desktop/src/components/ReviewCreationControls.svelte
📄 apps/desktop/src/components/Rule.svelte
📄 apps/desktop/src/components/RuleFilterPathRegex.svelte
📄 apps/desktop/src/components/RuleFiltersEditor.svelte
📄 apps/desktop/src/components/RulesList.svelte
📄 apps/desktop/src/components/Scrollbar.svelte
📄 apps/desktop/src/components/SectionCardDisclaimer.svelte
📄 apps/desktop/src/components/SelectionView.svelte
📄 apps/desktop/src/components/SettingsModalLayout.svelte
📄 apps/desktop/src/components/SettingsSection.svelte
📄 apps/desktop/src/components/SetupFeature.svelte
📄 apps/desktop/src/components/ShareIssueModal.svelte
📄 apps/desktop/src/components/SnapshotAttachment.svelte
📄 apps/desktop/src/components/SnapshotCard.svelte
📄 apps/desktop/src/components/SomethingWentWrong.svelte
📄 apps/desktop/src/components/StackDraft.svelte
📄 apps/desktop/src/components/StackDragHandle.svelte
📄 apps/desktop/src/components/StackView.svelte
📄 apps/desktop/src/components/StackedPullRequestCard.svelte
📄 apps/desktop/src/components/SwitchThemeMenuAction.svelte
📄 apps/desktop/src/components/SyncButton.svelte
📄 apps/desktop/src/components/TabContent.svelte
📄 apps/desktop/src/components/TabList.svelte
📄 apps/desktop/src/components/TabTrigger.svelte
📄 apps/desktop/src/components/Tabs.svelte
📄 apps/desktop/src/components/TargetCommitList.svelte
📄 apps/desktop/src/components/ThemeSelector.svelte
📄 apps/desktop/src/components/ToastController.svelte
📄 apps/desktop/src/components/ToggleSidebarMenuAction.svelte
📄 apps/desktop/src/components/TreeListFolder.svelte
📄 apps/desktop/src/components/UnappliedBranchView.svelte
📄 apps/desktop/src/components/UnappliedCommitView.svelte
📄 apps/desktop/src/components/UnassignedFoldButton.svelte
📄 apps/desktop/src/components/UnassignedView.svelte
📄 apps/desktop/src/components/UnassignedViewForgePrompt.svelte
📄 apps/desktop/src/components/UnifiedDiffView.svelte
📄 apps/desktop/src/components/UpstreamCommitsAction.svelte
📄 apps/desktop/src/components/Welcome.svelte
📄 apps/desktop/src/components/WelcomeAction.svelte
📄 apps/desktop/src/components/WelcomeSigninAction.svelte
📄 apps/desktop/src/components/WorkspaceView.svelte
📄 apps/desktop/src/components/WorktreeChanges.svelte
📄 apps/desktop/src/components/WorktreeChangesSelectAll.svelte
📄 apps/desktop/src/components/ZoomInOutMenuAction.svelte
📁 apps/desktop/src/components/branchesPage
📄 apps/desktop/src/components/branchesPage/BranchListCard.svelte
📄 apps/desktop/src/components/branchesPage/BranchesCardTemplate.svelte
📄 apps/desktop/src/components/branchesPage/BranchesListGroup.svelte
📄 apps/desktop/src/components/branchesPage/CurrentOriginCard.svelte
📄 apps/desktop/src/components/branchesPage/PRListCard.svelte
📁 apps/desktop/src/components/codegen
📄 apps/desktop/src/components/codegen/AddedDirectories.svelte
📄 apps/desktop/src/components/codegen/AttachmentList.svelte
📄 apps/desktop/src/components/codegen/ClaudeCheck.svelte
📄 apps/desktop/src/components/codegen/CodegenApprovalToolCall.svelte
📄 apps/desktop/src/components/codegen/CodegenAskUserQuestion.svelte
📄 apps/desktop/src/components/codegen/CodegenAssistantMessage.svelte
📄 apps/desktop/src/components/codegen/CodegenChatClaudeNotAvaliableBanner.svelte
📄 apps/desktop/src/components/codegen/CodegenClaudeMessage.svelte
📄 apps/desktop/src/components/codegen/CodegenGitButlerMessage.svelte
📄 apps/desktop/src/components/codegen/CodegenInput.svelte
📄 apps/desktop/src/components/codegen/CodegenMcpConfigModal.svelte
📄 apps/desktop/src/components/codegen/CodegenMessages.svelte
📄 apps/desktop/src/components/codegen/CodegenPromptConfigModal.svelte
📄 apps/desktop/src/components/codegen/CodegenQueued.svelte
📄 apps/desktop/src/components/codegen/CodegenServiceMessage.svelte
📄 apps/desktop/src/components/codegen/CodegenServiceMessageThinking.svelte
📄 apps/desktop/src/components/codegen/CodegenServiceMessageUseTool.svelte
📄 apps/desktop/src/components/codegen/CodegenSidebar.svelte
📄 apps/desktop/src/components/codegen/CodegenStatusIcon.svelte
📄 apps/desktop/src/components/codegen/CodegenTodo.svelte
📄 apps/desktop/src/components/codegen/CodegenTodoAccordion.svelte
📄 apps/desktop/src/components/codegen/CodegenToolCall.svelte
📄 apps/desktop/src/components/codegen/CodegenUsageStat.svelte
📄 apps/desktop/src/components/codegen/CodegenUserMessage.svelte
📄 apps/desktop/src/components/codegen/ExpandableSection.svelte
📄 apps/desktop/src/components/codegen/FileSearch.svelte
📁 apps/desktop/src/components/editor
📄 apps/desktop/src/components/editor/EditorFooter.svelte
📄 apps/desktop/src/components/editor/MessageEditor.svelte
📄 apps/desktop/src/components/editor/MessageEditorInput.svelte
📄 apps/desktop/src/components/editor/MessageEditorRuler.svelte
📄 apps/desktop/src/components/editor/commitSuggestions.svelte.ts
📄 apps/desktop/src/components/lib.ts
📁 apps/desktop/src/components/profileSettings
📄 apps/desktop/src/components/profileSettings/AiSettings.svelte
📄 apps/desktop/src/components/profileSettings/CliSymLink.svelte
📄 apps/desktop/src/components/profileSettings/ExperimentalSettings.svelte
📄 apps/desktop/src/components/profileSettings/GeneralSettings.svelte
📄 apps/desktop/src/components/profileSettings/GitSettings.svelte
📄 apps/desktop/src/components/profileSettings/IntegrationsSettings.svelte
📄 apps/desktop/src/components/profileSettings/LanesAndBranchesSettings.svelte
📄 apps/desktop/src/components/profileSettings/OrganisationSettings.svelte
📄 apps/desktop/src/components/profileSettings/TelemetrySettings.svelte
📁 apps/desktop/src/components/projectSettings
📄 apps/desktop/src/components/projectSettings/AgentSettings.svelte
📄 apps/desktop/src/components/projectSettings/AppearanceSettings.svelte
📄 apps/desktop/src/components/projectSettings/GeneralSettings.svelte
📁 apps/desktop/src/components/stackTabs
📁 apps/desktop/src/components/stackTabs/assets
📄 apps/desktop/src/components/stackTabs/assets/dependent-branch.svg
📄 apps/desktop/src/components/stackTabs/assets/new-stack-left.svg
📄 apps/desktop/src/components/stackTabs/assets/new-stack-right.svg
📁 apps/desktop/src/components/test
📁 apps/desktop/src/components/test/change-during-async-capturing-state-with-assignment-two-components
📄 apps/desktop/src/components/test/change-during-async-capturing-state-with-assignment-two-components/Child.svelte
📄 apps/desktop/src/components/test/change-during-async-capturing-state-with-assignment-two-components/Component.svelte
📄 apps/desktop/src/components/test/change-during-async-capturing-state-with-assignment-two-components/Component.svelte.test.ts
📁 apps/desktop/src/components/test/change-during-async-capturing-state-with-assignment
📄 apps/desktop/src/components/test/change-during-async-capturing-state-with-assignment/Component.svelte
📄 apps/desktop/src/components/test/change-during-async-capturing-state-with-assignment/Component.svelte.test.ts
📁 apps/desktop/src/components/test/change-during-async-sees-updates-two-components
📄 apps/desktop/src/components/test/change-during-async-sees-updates-two-components/Child.svelte
📄 apps/desktop/src/components/test/change-during-async-sees-updates-two-components/Component.svelte
📄 apps/desktop/src/components/test/change-during-async-sees-updates-two-components/Component.svelte.test.ts
📁 apps/desktop/src/components/test/change-during-async-sees-updates
📄 apps/desktop/src/components/test/change-during-async-sees-updates/Component.svelte
📄 apps/desktop/src/components/test/change-during-async-sees-updates/Component.svelte.test.ts
📄 apps/desktop/src/components/test/readme.md
📄 apps/desktop/src/electron.d.ts
📄 apps/desktop/src/events.d.ts
📄 apps/desktop/src/hooks.client.ts
📁 apps/desktop/src/lib
📁 apps/desktop/src/lib/actions
📄 apps/desktop/src/lib/actions/actionService.svelte.ts
📄 apps/desktop/src/lib/actions/types.ts
📁 apps/desktop/src/lib/ai
📄 apps/desktop/src/lib/ai/anthropicClient.ts
📄 apps/desktop/src/lib/ai/anthropicUtils.ts
📄 apps/desktop/src/lib/ai/butlerClient.ts
📄 apps/desktop/src/lib/ai/diffFormatting.ts
📄 apps/desktop/src/lib/ai/diffInputContext.svelte.ts
📄 apps/desktop/src/lib/ai/lmStudioClient.ts
📄 apps/desktop/src/lib/ai/macros.svelte.ts
📄 apps/desktop/src/lib/ai/ollamaClient.ts
📄 apps/desktop/src/lib/ai/openAIClient.ts
📄 apps/desktop/src/lib/ai/promptService.ts
📄 apps/desktop/src/lib/ai/prompts.ts
📄 apps/desktop/src/lib/ai/service.test.ts
📄 apps/desktop/src/lib/ai/service.ts
📄 apps/desktop/src/lib/ai/tool.ts
📄 apps/desktop/src/lib/ai/types.ts
📁 apps/desktop/src/lib/analytics
📄 apps/desktop/src/lib/analytics/analytics.ts
📄 apps/desktop/src/lib/analytics/eventContext.ts
📄 apps/desktop/src/lib/analytics/posthog.ts
📄 apps/desktop/src/lib/analytics/sentry.ts
📁 apps/desktop/src/lib/assets
📁 apps/desktop/src/lib/assets/empty-state
📄 apps/desktop/src/lib/assets/empty-state/binary.svg
📄 apps/desktop/src/lib/assets/empty-state/claude-disconected.svg
📄 apps/desktop/src/lib/assets/empty-state/empty-file.svg
📄 apps/desktop/src/lib/assets/empty-state/empty-folder.svg
📄 apps/desktop/src/lib/assets/empty-state/lane-new.svg
📄 apps/desktop/src/lib/assets/empty-state/new-branch-smol.svg
📄 apps/desktop/src/lib/assets/empty-state/no-branches.svg
📄 apps/desktop/src/lib/assets/empty-state/no-new-changes.svg
📄 apps/desktop/src/lib/assets/empty-state/too-large.svg
📄 apps/desktop/src/lib/assets/gerrit-logo.svg
📁 apps/desktop/src/lib/assets/illustrations
📄 apps/desktop/src/lib/assets/illustrations/cloning-repo.svg
📄 apps/desktop/src/lib/assets/illustrations/direction-doubt.svg
📄 apps/desktop/src/lib/assets/illustrations/load-error.svg
📄 apps/desktop/src/lib/assets/illustrations/new-project.svg
📄 apps/desktop/src/lib/assets/illustrations/new-zen.svg
📄 apps/desktop/src/lib/assets/illustrations/not-found.svg
📄 apps/desktop/src/lib/assets/illustrations/select-to-preview.svg
📄 apps/desktop/src/lib/assets/signin.svg
📄 apps/desktop/src/lib/assets/token.svg
📁 apps/desktop/src/lib/assets/unsized-logos
📄 apps/desktop/src/lib/assets/unsized-logos/github.svg
📄 apps/desktop/src/lib/assets/unsized-logos/gitlab.svg
📄 apps/desktop/src/lib/assets/unsized-logos/mcp.svg
📁 apps/desktop/src/lib/assets/welcome
📄 apps/desktop/src/lib/assets/welcome/clone-repo.svg
📄 apps/desktop/src/lib/assets/welcome/new-local-project.svg
📁 apps/desktop/src/lib/backend
📄 apps/desktop/src/lib/backend/backend.ts
📄 apps/desktop/src/lib/backend/clipboard.ts
📄 apps/desktop/src/lib/backend/index.ts
📄 apps/desktop/src/lib/backend/ipc.ts
📄 apps/desktop/src/lib/backend/tauri.test.ts
📄 apps/desktop/src/lib/backend/tauri.ts
📄 apps/desktop/src/lib/backend/web.ts
📁 apps/desktop/src/lib/baseBranch
📄 apps/desktop/src/lib/baseBranch/baseBranch.test.ts
📄 apps/desktop/src/lib/baseBranch/baseBranch.ts
📄 apps/desktop/src/lib/baseBranch/baseBranchService.svelte.ts
📁 apps/desktop/src/lib/bootstrap
📄 apps/desktop/src/lib/bootstrap/deps.ts
📁 apps/desktop/src/lib/branches
📄 apps/desktop/src/lib/branches/branch.ts
📄 apps/desktop/src/lib/branches/branchListing.ts
📄 apps/desktop/src/lib/branches/branchService.svelte.ts
📄 apps/desktop/src/lib/branches/dropHandler.ts
📄 apps/desktop/src/lib/branches/v3.ts
📁 apps/desktop/src/lib/cherryApply
📄 apps/desktop/src/lib/cherryApply/cherryApplyService.ts
📁 apps/desktop/src/lib/cli
📄 apps/desktop/src/lib/cli/cli.ts
📁 apps/desktop/src/lib/codegen
📄 apps/desktop/src/lib/codegen/attachmentService.svelte.ts
📄 apps/desktop/src/lib/codegen/availabilityChecking.svelte.ts
📄 apps/desktop/src/lib/codegen/claude.ts
📄 apps/desktop/src/lib/codegen/dropzone.ts
📄 apps/desktop/src/lib/codegen/focusClaudeInput.ts
📄 apps/desktop/src/lib/codegen/messageQueue.svelte.ts
📄 apps/desktop/src/lib/codegen/messageQueueSlice.ts
📄 apps/desktop/src/lib/codegen/messages.ts
📄 apps/desktop/src/lib/codegen/templateParser.ts
📄 apps/desktop/src/lib/codegen/types.ts
📁 apps/desktop/src/lib/commits
📄 apps/desktop/src/lib/commits/commit.ts
📄 apps/desktop/src/lib/commits/dropHandler.ts
📄 apps/desktop/src/lib/commits/utils.ts
📁 apps/desktop/src/lib/config
📄 apps/desktop/src/lib/config/appSettingsV2.ts
📄 apps/desktop/src/lib/config/config.ts
📄 apps/desktop/src/lib/config/gitConfigService.ts
📄 apps/desktop/src/lib/config/uiFeatureFlags.ts
📄 apps/desktop/src/lib/conflictEntryPresence.ts
📁 apps/desktop/src/lib/dependencies
📄 apps/desktop/src/lib/dependencies/dependencies.ts
📄 apps/desktop/src/lib/dependencies/dependencyService.svelte.ts
📁 apps/desktop/src/lib/dragging
📄 apps/desktop/src/lib/dragging/DragClone.svelte
📄 apps/desktop/src/lib/dragging/ReorderClone.svelte
📄 apps/desktop/src/lib/dragging/draggable.ts
📄 apps/desktop/src/lib/dragging/draggables.ts
📄 apps/desktop/src/lib/dragging/dropzone.ts
📄 apps/desktop/src/lib/dragging/handler.ts
📄 apps/desktop/src/lib/dragging/horizontalPanner.ts
📄 apps/desktop/src/lib/dragging/registry.ts
📄 apps/desktop/src/lib/dragging/reordering.ts
📄 apps/desktop/src/lib/dragging/stackingReorderDropzoneManager.ts
📄 apps/desktop/src/lib/dragging/workspaceAutoPanner.ts
📁 apps/desktop/src/lib/editMode
📄 apps/desktop/src/lib/editMode/editPatchUtils.ts
📁 apps/desktop/src/lib/error
📄 apps/desktop/src/lib/error/error.ts
📄 apps/desktop/src/lib/error/knownErrors.ts
📄 apps/desktop/src/lib/error/parser.ts
📄 apps/desktop/src/lib/error/typeguards.ts
📁 apps/desktop/src/lib/files
📄 apps/desktop/src/lib/files/conflicts.ts
📄 apps/desktop/src/lib/files/file.ts
📄 apps/desktop/src/lib/files/fileService.ts
📄 apps/desktop/src/lib/files/filetreeV3.ts
📄 apps/desktop/src/lib/files/utils.ts
📁 apps/desktop/src/lib/floating
📄 apps/desktop/src/lib/floating/FloatingModal.svelte
📄 apps/desktop/src/lib/floating/ResizeHandles.svelte
📄 apps/desktop/src/lib/floating/dragResizeHandler.ts
📄 apps/desktop/src/lib/floating/resizeCalculator.ts
📄 apps/desktop/src/lib/floating/snapPointManager.ts
📄 apps/desktop/src/lib/floating/types.ts
📁 apps/desktop/src/lib/forge
📁 apps/desktop/src/lib/forge/azure
📄 apps/desktop/src/lib/forge/azure/azure.test.ts
📄 apps/desktop/src/lib/forge/azure/azure.ts
📄 apps/desktop/src/lib/forge/azure/azureBranch.ts
📁 apps/desktop/src/lib/forge/bitbucket
📄 apps/desktop/src/lib/forge/bitbucket/bitbucket.test.ts
📄 apps/desktop/src/lib/forge/bitbucket/bitbucket.ts
📄 apps/desktop/src/lib/forge/bitbucket/bitbucketBranch.ts
📄 apps/desktop/src/lib/forge/butRequestDetailsService.ts
📁 apps/desktop/src/lib/forge/default
📄 apps/desktop/src/lib/forge/default/default.ts
📄 apps/desktop/src/lib/forge/forgeFactory.svelte.ts
📄 apps/desktop/src/lib/forge/forgeFactory.test.ts
📁 apps/desktop/src/lib/forge/github
📄 apps/desktop/src/lib/forge/github/errorMap.ts
📄 apps/desktop/src/lib/forge/github/ghQuery.ts
📄 apps/desktop/src/lib/forge/github/github.test.ts
📄 apps/desktop/src/lib/forge/github/github.ts
📄 apps/desktop/src/lib/forge/github/githubBranch.test.ts
📄 apps/desktop/src/lib/forge/github/githubBranch.ts
📄 apps/desktop/src/lib/forge/github/githubChecksMonitor.svelte.ts
📄 apps/desktop/src/lib/forge/github/githubClient.ts
📄 apps/desktop/src/lib/forge/github/githubListingService.svelte.ts
📄 apps/desktop/src/lib/forge/github/githubPrService.svelte.ts
📄 apps/desktop/src/lib/forge/github/githubPrService.test.ts
📄 apps/desktop/src/lib/forge/github/githubRepoService.svelte.ts
📄 apps/desktop/src/lib/forge/github/githubUserService.svelte.ts
📄 apps/desktop/src/lib/forge/github/headers.ts
📄 apps/desktop/src/lib/forge/github/hooks.svelte.ts
📄 apps/desktop/src/lib/forge/github/issueService.ts
📄 apps/desktop/src/lib/forge/github/types.ts
📁 apps/desktop/src/lib/forge/gitlab
📄 apps/desktop/src/lib/forge/gitlab/gitlab.test.ts
📄 apps/desktop/src/lib/forge/gitlab/gitlab.ts
📄 apps/desktop/src/lib/forge/gitlab/gitlabBranch.ts
📄 apps/desktop/src/lib/forge/gitlab/gitlabClient.svelte.ts
📄 apps/desktop/src/lib/forge/gitlab/gitlabListingService.svelte.ts
📄 apps/desktop/src/lib/forge/gitlab/gitlabPrService.svelte.ts
📄 apps/desktop/src/lib/forge/gitlab/gitlabUserService.svelte.ts
📄 apps/desktop/src/lib/forge/gitlab/hooks.svelte.ts
📄 apps/desktop/src/lib/forge/gitlab/types.ts
📁 apps/desktop/src/lib/forge/interface
📄 apps/desktop/src/lib/forge/interface/apiClient.ts
📄 apps/desktop/src/lib/forge/interface/forge.ts
📄 apps/desktop/src/lib/forge/interface/forgeBranch.ts
📄 apps/desktop/src/lib/forge/interface/forgeChecksMonitor.ts
📄 apps/desktop/src/lib/forge/interface/forgeIssueService.ts
📄 apps/desktop/src/lib/forge/interface/forgeListingService.ts
📄 apps/desktop/src/lib/forge/interface/forgePrMonitor.ts
📄 apps/desktop/src/lib/forge/interface/forgePrService.ts
📄 apps/desktop/src/lib/forge/interface/forgeRepoService.ts
📄 apps/desktop/src/lib/forge/interface/types.ts
📄 apps/desktop/src/lib/forge/prContents.ts
📁 apps/desktop/src/lib/forge/shared
📄 apps/desktop/src/lib/forge/shared/prFooter.ts
📄 apps/desktop/src/lib/forge/shared/progressivePolling.ts
📁 apps/desktop/src/lib/git
📄 apps/desktop/src/lib/git/gitService.ts
📁 apps/desktop/src/lib/history
📄 apps/desktop/src/lib/history/history.ts
📄 apps/desktop/src/lib/history/oplogService.svelte.ts
📄 apps/desktop/src/lib/history/types.ts
📁 apps/desktop/src/lib/hooks
📄 apps/desktop/src/lib/hooks/hooksService.ts
📁 apps/desktop/src/lib/hunks
📄 apps/desktop/src/lib/hunks/change.ts
📄 apps/desktop/src/lib/hunks/diff.ts
📄 apps/desktop/src/lib/hunks/diffService.svelte.ts
📄 apps/desktop/src/lib/hunks/dropHandler.ts
📄 apps/desktop/src/lib/hunks/hunk.test.ts
📄 apps/desktop/src/lib/hunks/hunk.ts
📁 apps/desktop/src/lib/irc
📄 apps/desktop/src/lib/irc/channel.ts
📄 apps/desktop/src/lib/irc/ircClient.svelte.ts
📄 apps/desktop/src/lib/irc/ircService.svelte.ts
📄 apps/desktop/src/lib/irc/ircSlice.ts
📄 apps/desktop/src/lib/irc/logs.ts
📄 apps/desktop/src/lib/irc/parser.ts
📄 apps/desktop/src/lib/irc/types.ts
📁 apps/desktop/src/lib/mode
📄 apps/desktop/src/lib/mode/modeService.ts
📁 apps/desktop/src/lib/notifications
📄 apps/desktop/src/lib/notifications/toasts.ts
📁 apps/desktop/src/lib/polyfills
📄 apps/desktop/src/lib/polyfills/abortSignal.test.ts
📄 apps/desktop/src/lib/polyfills/abortSignal.ts
📁 apps/desktop/src/lib/project
📄 apps/desktop/src/lib/project/project.ts
📄 apps/desktop/src/lib/project/projectsService.ts
📁 apps/desktop/src/lib/prompt
📄 apps/desktop/src/lib/prompt/promptService.ts
📁 apps/desktop/src/lib/remotes
📄 apps/desktop/src/lib/remotes/remotesService.ts
📁 apps/desktop/src/lib/routes
📄 apps/desktop/src/lib/routes/routes.svelte.ts
📁 apps/desktop/src/lib/rules
📄 apps/desktop/src/lib/rules/rule.ts
📄 apps/desktop/src/lib/rules/rulesService.svelte.ts
📄 apps/desktop/src/lib/rxjs.ts
📁 apps/desktop/src/lib/secrets
📄 apps/desktop/src/lib/secrets/secretsService.ts
📁 apps/desktop/src/lib/selection
📄 apps/desktop/src/lib/selection/entityAdapters.ts
📄 apps/desktop/src/lib/selection/fileSelectionManager.svelte.ts
📄 apps/desktop/src/lib/selection/fileSelectionUtils.ts
📄 apps/desktop/src/lib/selection/key.ts
📄 apps/desktop/src/lib/selection/uncommitted.ts
📄 apps/desktop/src/lib/selection/uncommittedService.svelte.ts
📁 apps/desktop/src/lib/settings
📄 apps/desktop/src/lib/settings/generalSettingsPages.ts
📄 apps/desktop/src/lib/settings/projectSettingsPages.ts
📄 apps/desktop/src/lib/settings/settingsModal.svelte.ts
📄 apps/desktop/src/lib/settings/userSettings.ts
📁 apps/desktop/src/lib/shortcuts
📄 apps/desktop/src/lib/shortcuts/shortcutService.ts
📁 apps/desktop/src/lib/soup
📄 apps/desktop/src/lib/soup/README.md
📄 apps/desktop/src/lib/soup/codegenAnalytics.ts
📄 apps/desktop/src/lib/soup/commitAnalytics.ts
📁 apps/desktop/src/lib/stacks
📄 apps/desktop/src/lib/stacks/createAiStack.svelte.ts
📄 apps/desktop/src/lib/stacks/dropHandler.ts
📄 apps/desktop/src/lib/stacks/macros.ts
📄 apps/desktop/src/lib/stacks/stack.ts
📄 apps/desktop/src/lib/stacks/stackService.svelte.ts
📁 apps/desktop/src/lib/state
📄 apps/desktop/src/lib/state/backendQuery.ts
📄 apps/desktop/src/lib/state/butlerModule.ts
📄 apps/desktop/src/lib/state/clientState.svelte.ts
📄 apps/desktop/src/lib/state/context.ts
📄 apps/desktop/src/lib/state/customHooks.svelte.ts
📄 apps/desktop/src/lib/state/customSelectors.ts
📄 apps/desktop/src/lib/state/helpers.test.ts
📄 apps/desktop/src/lib/state/helpers.ts
📄 apps/desktop/src/lib/state/reduxError.ts
📄 apps/desktop/src/lib/state/tags.ts
📄 apps/desktop/src/lib/state/uiState.svelte.ts
📁 apps/desktop/src/lib/stores
📄 apps/desktop/src/lib/stores/tokenMemoryService.test.ts
📄 apps/desktop/src/lib/stores/tokenMemoryService.ts
📁 apps/desktop/src/lib/support
📄 apps/desktop/src/lib/support/dataSharing.ts
📄 apps/desktop/src/lib/tabs.ts
📁 apps/desktop/src/lib/testing
📄 apps/desktop/src/lib/testing/mockAIService.ts
📄 apps/desktop/src/lib/testing/mockBackend.ts
📄 apps/desktop/src/lib/testing/mockBaseBranch.ts
📄 apps/desktop/src/lib/testing/mockGitHubApi.svelte.ts
📄 apps/desktop/src/lib/testing/mockRedux.ts
📄 apps/desktop/src/lib/testing/mockSettingsdService.ts
📄 apps/desktop/src/lib/testing/mockStackService.ts
📄 apps/desktop/src/lib/testing/mockUiState.ts
📄 apps/desktop/src/lib/testing/setup.ts
📁 apps/desktop/src/lib/updater
📄 apps/desktop/src/lib/updater/updater.test.ts
📄 apps/desktop/src/lib/updater/updater.ts
📁 apps/desktop/src/lib/upstream
📄 apps/desktop/src/lib/upstream/types.ts
📄 apps/desktop/src/lib/upstream/upstreamIntegrationService.svelte.ts
📁 apps/desktop/src/lib/url
📄 apps/desktop/src/lib/url/gitUrl.ts
📁 apps/desktop/src/lib/user
📄 apps/desktop/src/lib/user/user.ts
📄 apps/desktop/src/lib/user/userService.ts
📁 apps/desktop/src/lib/utils
📄 apps/desktop/src/lib/utils/array.ts
📄 apps/desktop/src/lib/utils/branch.test.ts
📄 apps/desktop/src/lib/utils/branch.ts
📄 apps/desktop/src/lib/utils/codegenTools.ts
📄 apps/desktop/src/lib/utils/commitMessage.test.ts
📄 apps/desktop/src/lib/utils/commitMessage.ts
📄 apps/desktop/src/lib/utils/cookies.ts
📄 apps/desktop/src/lib/utils/debounce.ts
📄 apps/desktop/src/lib/utils/fileStatus.ts
📄 apps/desktop/src/lib/utils/filters.test.ts
📄 apps/desktop/src/lib/utils/filters.ts
📄 apps/desktop/src/lib/utils/getSelectionDirection.ts
📄 apps/desktop/src/lib/utils/hotkeys.ts
📄 apps/desktop/src/lib/utils/misc.ts
📄 apps/desktop/src/lib/utils/mutex.ts
📄 apps/desktop/src/lib/utils/number.ts
📄 apps/desktop/src/lib/utils/object.ts
📄 apps/desktop/src/lib/utils/ratelimit.ts
📄 apps/desktop/src/lib/utils/resizeGroup.ts
📄 apps/desktop/src/lib/utils/resizeSync.ts
📄 apps/desktop/src/lib/utils/resolveExternally.ts
📄 apps/desktop/src/lib/utils/sleep.ts
📄 apps/desktop/src/lib/utils/string.ts
📄 apps/desktop/src/lib/utils/theme.ts
📄 apps/desktop/src/lib/utils/time.ts
📄 apps/desktop/src/lib/utils/unsubscribe.test.ts
📄 apps/desktop/src/lib/utils/unsubscribe.ts
📄 apps/desktop/src/lib/utils/url.ts
📄 apps/desktop/src/lib/utils/validation.ts
📁 apps/desktop/src/lib/worktree
📄 apps/desktop/src/lib/worktree/worktreeService.svelte.ts
📁 apps/desktop/src/routes
📄 apps/desktop/src/routes/+error.svelte
📄 apps/desktop/src/routes/+layout.svelte
📄 apps/desktop/src/routes/+layout.ts
📄 apps/desktop/src/routes/+page.svelte
📁 apps/desktop/src/routes/[projectId]
📄 apps/desktop/src/routes/[projectId]/+layout.svelte
📄 apps/desktop/src/routes/[projectId]/+layout.ts
📄 apps/desktop/src/routes/[projectId]/+page.svelte
📁 apps/desktop/src/routes/[projectId]/branches
📄 apps/desktop/src/routes/[projectId]/branches/+page.svelte
📁 apps/desktop/src/routes/[projectId]/edit
📄 apps/desktop/src/routes/[projectId]/edit/+page.svelte
📁 apps/desktop/src/routes/[projectId]/history
📄 apps/desktop/src/routes/[projectId]/history/+page.svelte
📁 apps/desktop/src/routes/[projectId]/irc
📄 apps/desktop/src/routes/[projectId]/irc/+page.svelte
📁 apps/desktop/src/routes/[projectId]/workspace
📄 apps/desktop/src/routes/[projectId]/workspace/+page.svelte
📁 apps/desktop/src/routes/onboarding
📄 apps/desktop/src/routes/onboarding/+page.svelte
📁 apps/desktop/src/routes/onboarding/clone
📄 apps/desktop/src/routes/onboarding/clone/+page.svelte
📁 apps/desktop/src/styles
📄 apps/desktop/src/styles/styles.css
📁 apps/desktop/static
📁 apps/desktop/static/images
📁 apps/desktop/static/images/domain-icons
📄 apps/desktop/static/images/domain-icons/trunk.svg
📁 apps/desktop/static/images/history
📄 apps/desktop/static/images/history/restore-icon.svg
📁 apps/desktop/static/images/icons
📄 apps/desktop/static/images/icons/LICENSE.md
📄 apps/desktop/static/images/icons/caret-right-fill.svg
📄 apps/desktop/static/images/icons/chat-square-quote.svg
📄 apps/desktop/static/images/icons/chevron-down.svg
📄 apps/desktop/static/images/icons/close.svg
📄 apps/desktop/static/images/icons/code.svg
📄 apps/desktop/static/images/icons/copy.svg
📄 apps/desktop/static/images/icons/dropdown-more.svg
📄 apps/desktop/static/images/icons/filetype-gif.svg
📄 apps/desktop/static/images/icons/horizontal-rule.svg
📄 apps/desktop/static/images/icons/indent.svg
📄 apps/desktop/static/images/icons/justify.svg
📄 apps/desktop/static/images/icons/link.svg
📄 apps/desktop/static/images/icons/list-ol.svg
📄 apps/desktop/static/images/icons/list-ul.svg
📄 apps/desktop/static/images/icons/outdent.svg
📄 apps/desktop/static/images/icons/pencil-fill.svg
📄 apps/desktop/static/images/icons/plus.svg
📄 apps/desktop/static/images/icons/prettier-error.svg
📄 apps/desktop/static/images/icons/prettier.svg
📄 apps/desktop/static/images/icons/square-check.svg
📄 apps/desktop/static/images/icons/success-alt.svg
📄 apps/desktop/static/images/icons/success.svg
📄 apps/desktop/static/images/icons/text-center.svg
📄 apps/desktop/static/images/icons/text-left.svg
📄 apps/desktop/static/images/icons/text-paragraph.svg
📄 apps/desktop/static/images/icons/text-right.svg
📄 apps/desktop/static/images/icons/trash.svg
📄 apps/desktop/static/images/icons/type-bold.svg
📄 apps/desktop/static/images/icons/type-h1.svg
📄 apps/desktop/static/images/icons/type-h2.svg
📄 apps/desktop/static/images/icons/type-h3.svg
📄 apps/desktop/static/images/icons/type-h4.svg
📄 apps/desktop/static/images/icons/type-h5.svg
📄 apps/desktop/static/images/icons/type-h6.svg
📄 apps/desktop/static/images/icons/type-italic.svg
📄 apps/desktop/static/images/icons/type-strikethrough.svg
📄 apps/desktop/static/images/icons/type-subscript.svg
📄 apps/desktop/static/images/icons/type-superscript.svg
📄 apps/desktop/static/images/icons/type-underline.svg
📁 apps/desktop/static/images/theme-previews
📄 apps/desktop/static/images/theme-previews/dark.svg
📄 apps/desktop/static/images/theme-previews/light.svg
📄 apps/desktop/static/images/theme-previews/system.svg
📄 apps/desktop/svelte.config.js
📄 apps/desktop/tsconfig.json
📄 apps/desktop/vite.config.ts
📄 apps/desktop/vitest-setup.js
📁 apps/web
📄 apps/web/.env
📄 apps/web/.gitignore
📄 apps/web/package.json
📄 apps/web/playwright.config.ts
📄 apps/web/postcss.config.js
📁 apps/web/src
📄 apps/web/src/app.d.ts
📄 apps/web/src/app.html
📄 apps/web/src/hooks.client.ts
📄 apps/web/src/hooks.server.ts
📁 apps/web/src/lib
📁 apps/web/src/lib/ai
📄 apps/web/src/lib/ai/service.ts
📁 apps/web/src/lib/analytics
📄 apps/web/src/lib/analytics/sentry.ts
📁 apps/web/src/lib/assets
📄 apps/web/src/lib/assets/blank-chat.svg
📄 apps/web/src/lib/assets/github.svg
📄 apps/web/src/lib/assets/login-modal.svg
📁 apps/web/src/lib/assets/splash-illustrations
📄 apps/web/src/lib/assets/splash-illustrations/new-project.svg
📄 apps/web/src/lib/assets/splash-illustrations/walkin.svg
📁 apps/web/src/lib/auth
📄 apps/web/src/lib/auth/RedirectIfLoggedIn.svelte
📄 apps/web/src/lib/auth/RedirectIfNotFinalized.svelte
📄 apps/web/src/lib/auth/RedirectToProfileIfLoggedIn.svelte
📁 apps/web/src/lib/chat
📄 apps/web/src/lib/chat/diffPatch.ts
📄 apps/web/src/lib/chat/mentions.ts
📄 apps/web/src/lib/chat/message.svelte.ts
📄 apps/web/src/lib/chat/minimize.svelte.ts
📄 apps/web/src/lib/chat/reactions.ts
📄 apps/web/src/lib/chat/reply.svelte.ts
📄 apps/web/src/lib/chat/richText.svelte.ts
📄 apps/web/src/lib/chat/suggestions.svelte.ts
📁 apps/web/src/lib/components
📄 apps/web/src/lib/components/AddSshKeyModal.svelte
📄 apps/web/src/lib/components/ChatComponent.svelte
📄 apps/web/src/lib/components/CompactFooter.svelte
📄 apps/web/src/lib/components/GitbutlerLogoLink.svelte
📄 apps/web/src/lib/components/HeaderAuthSection.svelte
📄 apps/web/src/lib/components/InviteLink.svelte
📄 apps/web/src/lib/components/LoginModal.svelte
📄 apps/web/src/lib/components/Navigation.svelte
📄 apps/web/src/lib/components/NoSSR.svelte
📄 apps/web/src/lib/components/OrganizationEditModal.svelte
📄 apps/web/src/lib/components/OrganizationProfile.svelte
📄 apps/web/src/lib/components/ProjectConnectModal.svelte
📄 apps/web/src/lib/components/ProjectsSection.svelte
📄 apps/web/src/lib/components/ReviewsSection.svelte
📄 apps/web/src/lib/components/ShowChatButton.svelte
📄 apps/web/src/lib/components/SideNavigation.svelte
📄 apps/web/src/lib/components/UserAuthAvatar.svelte
📄 apps/web/src/lib/components/UserProfile.svelte
📁 apps/web/src/lib/components/auth
📄 apps/web/src/lib/components/auth/OAuthButtons.svelte
📄 apps/web/src/lib/components/auth/PasswordConfirmation.svelte
📄 apps/web/src/lib/components/auth/UsernameTextbox.svelte
📁 apps/web/src/lib/components/branches
📄 apps/web/src/lib/components/branches/BranchIndexCard.svelte
📁 apps/web/src/lib/components/changes
📄 apps/web/src/lib/components/changes/BranchCommitsRow.svelte
📄 apps/web/src/lib/components/changes/BranchCommitsTable.svelte
📁 apps/web/src/lib/components/chat
📄 apps/web/src/lib/components/chat/Breadcrumbs.svelte
📄 apps/web/src/lib/components/chat/ChatDiffLineSelection.svelte
📄 apps/web/src/lib/components/chat/ChatInReplyTo.svelte
📄 apps/web/src/lib/components/chat/ChatInput.svelte
📄 apps/web/src/lib/components/chat/Event.svelte
📄 apps/web/src/lib/components/chat/IssueUpdate.svelte
📄 apps/web/src/lib/components/chat/Mention.svelte
📄 apps/web/src/lib/components/chat/MentionSuggestionItem.svelte
📄 apps/web/src/lib/components/chat/MentionSuggestions.svelte
📄 apps/web/src/lib/components/chat/Message.svelte
📄 apps/web/src/lib/components/chat/MessageActions.svelte
📄 apps/web/src/lib/components/chat/MessageCode.svelte
📄 apps/web/src/lib/components/chat/MessageContextMenu.svelte
📄 apps/web/src/lib/components/chat/MessageDiffSection.svelte
📄 apps/web/src/lib/components/chat/MessageMarkdown.svelte
📄 apps/web/src/lib/components/chat/MessageMarkdownContent.svelte
📄 apps/web/src/lib/components/chat/MessageText.svelte
📄 apps/web/src/lib/components/chat/PatchStatus.svelte
📄 apps/web/src/lib/components/chat/PatchVersion.svelte
📁 apps/web/src/lib/components/dashboard
📄 apps/web/src/lib/components/dashboard/DashboardLayout.svelte
📄 apps/web/src/lib/components/dashboard/DashboardSidebar.svelte
📄 apps/web/src/lib/components/dashboard/DashboardSidebarProject.svelte
📄 apps/web/src/lib/components/dashboard/DashboardSidebarProjects.svelte
📄 apps/web/src/lib/components/dashboard/DashboardSidebarReviews.svelte
📁 apps/web/src/lib/components/errors
📄 apps/web/src/lib/components/errors/PrivateProjectError.svelte
📁 apps/web/src/lib/components/infoFlexRow
📄 apps/web/src/lib/components/infoFlexRow/Factoid.svelte
📄 apps/web/src/lib/components/infoFlexRow/InfoFlexRow.svelte
📁 apps/web/src/lib/components/marketing
📄 apps/web/src/lib/components/marketing/Footer.svelte
📄 apps/web/src/lib/components/marketing/Header.svelte
📄 apps/web/src/lib/components/marketing/ReleaseCard.svelte
📄 apps/web/src/lib/components/marketing/ThemeSwitcher.svelte
📁 apps/web/src/lib/components/projects
📄 apps/web/src/lib/components/projects/OrganizationProjects.svelte
📄 apps/web/src/lib/components/projects/ProjectIndexCard.svelte
📁 apps/web/src/lib/components/review
📄 apps/web/src/lib/components/review/ChangeActionButton.svelte
📄 apps/web/src/lib/components/review/ChangeNavigator.svelte
📄 apps/web/src/lib/components/review/DiffSection.svelte
📄 apps/web/src/lib/components/review/PatchReviewersGroup.svelte
📄 apps/web/src/lib/components/review/ReviewInfo.svelte
📄 apps/web/src/lib/components/review/ReviewSections.svelte
📄 apps/web/src/lib/components/review/Section.svelte
📄 apps/web/src/lib/components/review/TextSection.svelte
📁 apps/web/src/lib/components/rules
📄 apps/web/src/lib/components/rules/RulesModal.svelte
📁 apps/web/src/lib/components/service
📄 apps/web/src/lib/components/service/FullscreenIllustrationCard.svelte
📄 apps/web/src/lib/components/service/FullscreenUtilityCard.svelte
📁 apps/web/src/lib/components/table
📄 apps/web/src/lib/components/table/Table.svelte
📄 apps/web/src/lib/components/table/TableHead.svelte
📄 apps/web/src/lib/components/table/TableRow.svelte
📄 apps/web/src/lib/components/table/types.ts
📁 apps/web/src/lib/cookies
📄 apps/web/src/lib/cookies/attribution.ts
📁 apps/web/src/lib/dashboard
📄 apps/web/src/lib/dashboard/sidebar.svelte.ts
📁 apps/web/src/lib/data
📄 apps/web/src/lib/data/links.json
📄 apps/web/src/lib/data/os-icons.json
📁 apps/web/src/lib/diff
📄 apps/web/src/lib/diff/lineSelection.svelte.ts
📄 apps/web/src/lib/diffParsing.test.ts
📄 apps/web/src/lib/diffParsing.ts
📄 apps/web/src/lib/featureFlags.ts
📁 apps/web/src/lib/hooks
📄 apps/web/src/lib/hooks/clickOutside.ts
📄 apps/web/src/lib/interdiffRangeQuery.svelte.ts
📁 apps/web/src/lib/meta
📄 apps/web/src/lib/meta/opengraph.ts
📁 apps/web/src/lib/owner
📄 apps/web/src/lib/owner/ownerService.ts
📄 apps/web/src/lib/owner/types.ts
📁 apps/web/src/lib/redux
📄 apps/web/src/lib/redux/store.svelte.ts
📄 apps/web/src/lib/sshKeyService.ts
📄 apps/web/src/lib/store.ts
📁 apps/web/src/lib/types
📄 apps/web/src/lib/types/index.ts
📄 apps/web/src/lib/types/releases.ts
📁 apps/web/src/lib/user
📄 apps/web/src/lib/user/userService.ts
📁 apps/web/src/lib/utils
📄 apps/web/src/lib/utils/dateUtils.ts
📄 apps/web/src/lib/utils/faviconUtils.ts
📄 apps/web/src/lib/utils/formatDate.ts
📄 apps/web/src/lib/utils/getOS.ts
📄 apps/web/src/lib/utils/isMobile.ts
📄 apps/web/src/lib/utils/releaseUtils.ts
📄 apps/web/src/lib/utils/smoothScroll.ts
📄 apps/web/src/lib/utils/theme.svelte.ts
📄 apps/web/src/lib/youtube.ts
📁 apps/web/src/params
📄 apps/web/src/params/ownerSlug.ts
📁 apps/web/src/routes
📁 apps/web/src/routes/(app)
📄 apps/web/src/routes/(app)/+layout.svelte
📄 apps/web/src/routes/(app)/+page.svelte
📁 apps/web/src/routes/(app)/[ownerSlug]
📄 apps/web/src/routes/(app)/[ownerSlug]/+page.svelte
📄 apps/web/src/routes/(app)/[ownerSlug]/+page.ts
📁 apps/web/src/routes/(app)/[ownerSlug]/[projectSlug]
📄 apps/web/src/routes/(app)/[ownerSlug]/[projectSlug]/+page.svelte
📄 apps/web/src/routes/(app)/[ownerSlug]/[projectSlug]/+page.ts
📁 apps/web/src/routes/(app)/[ownerSlug]/[projectSlug]/reviews
📄 apps/web/src/routes/(app)/[ownerSlug]/[projectSlug]/reviews/+page.svelte
📄 apps/web/src/routes/(app)/[ownerSlug]/[projectSlug]/reviews/+page.ts
📁 apps/web/src/routes/(app)/[ownerSlug]/[projectSlug]/reviews/[branchId]
📄 apps/web/src/routes/(app)/[ownerSlug]/[projectSlug]/reviews/[branchId]/+page.svelte
📄 apps/web/src/routes/(app)/[ownerSlug]/[projectSlug]/reviews/[branchId]/+page.ts
📁 apps/web/src/routes/(app)/[ownerSlug]/[projectSlug]/reviews/[branchId]/commit
📁 apps/web/src/routes/(app)/[ownerSlug]/[projectSlug]/reviews/[branchId]/commit/[changeId]
📄 apps/web/src/routes/(app)/[ownerSlug]/[projectSlug]/reviews/[branchId]/commit/[changeId]/+page.svelte
📄 apps/web/src/routes/(app)/[ownerSlug]/[projectSlug]/reviews/[branchId]/commit/[changeId]/+page.ts
📁 apps/web/src/routes/(app)/[ownerSlug]/rules
📄 apps/web/src/routes/(app)/[ownerSlug]/rules/+page.svelte
📄 apps/web/src/routes/(app)/[ownerSlug]/rules/+page.ts
📁 apps/web/src/routes/(app)/auth
📄 apps/web/src/routes/(app)/auth/+page.svelte
📁 apps/web/src/routes/(app)/home
📄 apps/web/src/routes/(app)/home/+page.ts
📁 apps/web/src/routes/(app)/loggedin
📄 apps/web/src/routes/(app)/loggedin/+page.svelte
📁 apps/web/src/routes/(app)/login
📄 apps/web/src/routes/(app)/login/+page.svelte
📁 apps/web/src/routes/(app)/login/confirm-password
📄 apps/web/src/routes/(app)/login/confirm-password/+page.svelte
📁 apps/web/src/routes/(app)/login/forgot-password
📄 apps/web/src/routes/(app)/login/forgot-password/+page.svelte
📁 apps/web/src/routes/(app)/organizations
📄 apps/web/src/routes/(app)/organizations/+page.svelte
📁 apps/web/src/routes/(app)/organizations/invite
📁 apps/web/src/routes/(app)/organizations/invite/[slug]
📁 apps/web/src/routes/(app)/organizations/invite/[slug]/[code]
📄 apps/web/src/routes/(app)/organizations/invite/[slug]/[code]/+page.svelte
📄 apps/web/src/routes/(app)/organizations/invite/[slug]/[code]/+page.ts
📁 apps/web/src/routes/(app)/profile
📄 apps/web/src/routes/(app)/profile/+page.svelte
📁 apps/web/src/routes/(app)/profile/components
📄 apps/web/src/routes/(app)/profile/components/ExperimentalSettings.svelte
📄 apps/web/src/routes/(app)/profile/components/NotificationSettings.svelte
📄 apps/web/src/routes/(app)/profile/components/ProfileHeader.svelte
📄 apps/web/src/routes/(app)/profile/components/SshKeysSection.svelte
📄 apps/web/src/routes/(app)/profile/components/SupporterCard.svelte
📁 apps/web/src/routes/(app)/profile/finalize
📄 apps/web/src/routes/(app)/profile/finalize/+page.svelte
📁 apps/web/src/routes/(app)/signup
📄 apps/web/src/routes/(app)/signup/+page.svelte
📁 apps/web/src/routes/(app)/signup/resend-confirmation
📄 apps/web/src/routes/(app)/signup/resend-confirmation/+page.svelte
📁 apps/web/src/routes/(home)
📄 apps/web/src/routes/(home)/HomePage.svelte
📁 apps/web/src/routes/(home)/components
📄 apps/web/src/routes/(home)/components/ArrowButton.svelte
📄 apps/web/src/routes/(home)/components/CtaButton.svelte
📄 apps/web/src/routes/(home)/components/Features.svelte
📄 apps/web/src/routes/(home)/components/MobileMenu.svelte
📄 apps/web/src/routes/(home)/components/MobileVideoDemoThumb.svelte
📄 apps/web/src/routes/(home)/components/SectionHeader.svelte
📄 apps/web/src/routes/(home)/components/VideoOverlay.svelte
📁 apps/web/src/routes/(home)/data
📄 apps/web/src/routes/(home)/data/content.json
📄 apps/web/src/routes/(home)/data/social-quotes.json
📁 apps/web/src/routes/(home)/sections
📄 apps/web/src/routes/(home)/sections/AiFeatures.svelte
📄 apps/web/src/routes/(home)/sections/BlogHighlights.svelte
📄 apps/web/src/routes/(home)/sections/Changelog.svelte
📄 apps/web/src/routes/(home)/sections/DevelopersReview.svelte
📄 apps/web/src/routes/(home)/sections/FeatureUpdates.svelte
📄 apps/web/src/routes/(home)/sections/Hero.svelte
📄 apps/web/src/routes/(home)/sections/HeroHeader.svelte
📄 apps/web/src/routes/(home)/sections/ImagineCanvas.svelte
📄 apps/web/src/routes/(home)/sections/MainFeatures.svelte
📄 apps/web/src/routes/(home)/sections/SocialQuotes.svelte
📄 apps/web/src/routes/+error.svelte
📄 apps/web/src/routes/+layout.svelte
📄 apps/web/src/routes/+layout.ts
📁 apps/web/src/routes/cli
📄 apps/web/src/routes/cli/+page.svelte
📄 apps/web/src/routes/cli/ai-features.json
📁 apps/web/src/routes/cli/components
📄 apps/web/src/routes/cli/components/CtaButtons.svelte
📄 apps/web/src/routes/cli/features.json
📄 apps/web/src/routes/cli/scripts.json
📁 apps/web/src/routes/cli/sections
📄 apps/web/src/routes/cli/sections/ComparisonTable.svelte
📄 apps/web/src/routes/cli/sections/CtaSection.svelte
📄 apps/web/src/routes/cli/sections/Features.svelte
📄 apps/web/src/routes/cli/sections/Hero.svelte
📄 apps/web/src/routes/cli/sections/OptimizedForAgents.svelte
📄 apps/web/src/routes/cli/sections/ScriptSwitcher.svelte
📄 apps/web/src/routes/cli/sections/TerminalMockup.svelte
📄 apps/web/src/routes/cli/sections/terminal-types.ts
📁 apps/web/src/routes/color-generator
📄 apps/web/src/routes/color-generator/+page.svelte
📁 apps/web/src/routes/color-generator/assets
📄 apps/web/src/routes/color-generator/assets/app-preview.svg
📄 apps/web/src/routes/color-generator/assets/art-preview.svg
📁 apps/web/src/routes/color-generator/components
📄 apps/web/src/routes/color-generator/components/ColorCard.svelte
📄 apps/web/src/routes/color-generator/components/ColorScaleDisplay.svelte
📄 apps/web/src/routes/color-generator/components/ExportSection.svelte
📄 apps/web/src/routes/color-generator/components/IllustrationColors.svelte
📄 apps/web/src/routes/color-generator/components/RangeControl.svelte
📄 apps/web/src/routes/color-generator/components/ScaleControls.svelte
📄 apps/web/src/routes/color-generator/components/SemanticZones.svelte
📁 apps/web/src/routes/color-generator/constants
📄 apps/web/src/routes/color-generator/constants/colorScales.ts
📁 apps/web/src/routes/color-generator/types
📄 apps/web/src/routes/color-generator/types/color.ts
📁 apps/web/src/routes/color-generator/utils
📄 apps/web/src/routes/color-generator/utils/colorConversion.ts
📄 apps/web/src/routes/color-generator/utils/colorScale.ts
📄 apps/web/src/routes/color-generator/utils/export.ts
📁 apps/web/src/routes/downloads
📄 apps/web/src/routes/downloads/+page.svelte
📄 apps/web/src/routes/downloads/+page.ts
📁 apps/web/src/routes/install.sh
📄 apps/web/src/routes/install.sh/+server.ts
📄 apps/web/src/routes/install.sh/README.md
📄 apps/web/src/routes/install.sh/install.test.ts
📁 apps/web/src/routes/nightly
📄 apps/web/src/routes/nightly/+page.svelte
📄 apps/web/src/routes/nightly/+page.ts
📁 apps/web/src/routes/releases
📄 apps/web/src/routes/releases/+page.svelte
📄 apps/web/src/routes/releases/+page.ts
📁 apps/web/src/styles
📄 apps/web/src/styles/global.css
📄 apps/web/src/styles/media-queries.css
📁 apps/web/static
📄 apps/web/static/favicon.ico
📁 apps/web/static/favicon
📄 apps/web/static/favicon/favicon-180.png
📄 apps/web/static/favicon/favicon-32.png
📄 apps/web/static/favicon/favicon-64.png
📄 apps/web/static/favicon/favicon-approved-64.png
📄 apps/web/static/favicon/favicon-approved.svg
📄 apps/web/static/favicon/favicon-in-discussion-64.png
📄 apps/web/static/favicon/favicon-in-discussion.svg
📄 apps/web/static/favicon/favicon-request-changes-64.png
📄 apps/web/static/favicon/favicon-request-changes.svg
📄 apps/web/static/favicon/favicon-unreviewed-64.png
📄 apps/web/static/favicon/favicon-unreviewed.svg
📄 apps/web/static/favicon/favicon.svg
📁 apps/web/static/images
📄 apps/web/static/images/ai-demo.png
📄 apps/web/static/images/app-icon-nightly.svg
📄 apps/web/static/images/app-icon.svg
📄 apps/web/static/images/app-preview-dark.png
📄 apps/web/static/images/app-preview-light.png
📁 apps/web/static/images/cli
📄 apps/web/static/images/cli/linux-window-controls.svg
📄 apps/web/static/images/cli/mac-window-controls.svg
📄 apps/web/static/images/cli/windows-window-controls.svg
📁 apps/web/static/images/demo-preview
📄 apps/web/static/images/demo-preview/demo.mp4
📄 apps/web/static/images/demo-preview/demo.webp
📄 apps/web/static/images/grainy-gradient-dark.png
📄 apps/web/static/images/grainy-gradient-light.png
📄 apps/web/static/images/pc-skater.svg
📁 apps/web/static/images/social-avatars
📄 apps/web/static/images/social-avatars/andrekoenig.jpg
📄 apps/web/static/images/social-avatars/colebemis.jpg
📄 apps/web/static/images/social-avatars/djlink.jpg
📄 apps/web/static/images/social-avatars/ericclemmons.jpg
📄 apps/web/static/images/social-avatars/estradiotoluan.jpg
📄 apps/web/static/images/social-avatars/hunkybill.jpg
📄 apps/web/static/images/social-avatars/lesh0.jpg
📄 apps/web/static/images/social-avatars/lostdomain.jpg
📄 apps/web/static/images/social-avatars/renderg.jpg
📄 apps/web/static/images/social-avatars/sergedottech.jpg
📄 apps/web/static/images/social-avatars/sethgho.jpg
📄 apps/web/static/images/social-avatars/tonyennis.jpg
📄 apps/web/static/og-image.png
📄 apps/web/static/robots.txt
📁 apps/web/static/sounds
📄 apps/web/static/sounds/pop.mp3
📄 apps/web/static/sounds/vintage.wav
📄 apps/web/svelte.config.js
📁 apps/web/tests
📄 apps/web/tests/init.spec.ts
📄 apps/web/tests/install-script.spec.ts
📄 apps/web/tests/perf.spec.ts
📄 apps/web/tsconfig.json
📄 apps/web/vite.config.ts
📄 apps/web/vitest-setup.js
📄 claude.md
📁 crates
📄 crates/.vercelignore
📁 crates/but-action
📄 crates/but-action/Cargo.toml
📁 crates/but-action/src
📄 crates/but-action/src/action.rs
📄 crates/but-action/src/auto_commit.rs
📄 crates/but-action/src/branch_changes.rs
📄 crates/but-action/src/cli.rs
📄 crates/but-action/src/commit_format.rs
📄 crates/but-action/src/generate.rs
📄 crates/but-action/src/lib.rs
📄 crates/but-action/src/rename_branch.rs
📄 crates/but-action/src/reword.rs
📄 crates/but-action/src/simple.rs
📄 crates/but-action/src/workflow.rs
📁 crates/but-api-macros
📄 crates/but-api-macros/Cargo.toml
📁 crates/but-api-macros/src
📄 crates/but-api-macros/src/lib.rs
📁 crates/but-api
📄 crates/but-api/Cargo.toml
📁 crates/but-api/src
📄 crates/but-api/src/branch.rs
📄 crates/but-api/src/commit.rs
📄 crates/but-api/src/diff.rs
📄 crates/but-api/src/github.rs
📄 crates/but-api/src/gitlab.rs
📄 crates/but-api/src/json.rs
📁 crates/but-api/src/legacy
📄 crates/but-api/src/legacy/absorb.rs
📄 crates/but-api/src/legacy/askpass.rs
📄 crates/but-api/src/legacy/cherry_apply.rs
📄 crates/but-api/src/legacy/claude.rs
📄 crates/but-api/src/legacy/cli.rs
📄 crates/but-api/src/legacy/config.rs
📄 crates/but-api/src/legacy/diff.rs
📄 crates/but-api/src/legacy/forge.rs
📄 crates/but-api/src/legacy/git.rs
📄 crates/but-api/src/legacy/meta.rs
📄 crates/but-api/src/legacy/mod.rs
📄 crates/but-api/src/legacy/modes.rs
📄 crates/but-api/src/legacy/open.rs
📄 crates/but-api/src/legacy/oplog.rs
📄 crates/but-api/src/legacy/projects.rs
📄 crates/but-api/src/legacy/remotes.rs
📄 crates/but-api/src/legacy/repo.rs
📄 crates/but-api/src/legacy/rules.rs
📄 crates/but-api/src/legacy/secret.rs
📄 crates/but-api/src/legacy/settings.rs
📄 crates/but-api/src/legacy/stack.rs
📄 crates/but-api/src/legacy/users.rs
📄 crates/but-api/src/legacy/virtual_branches.rs
📄 crates/but-api/src/legacy/workspace.rs
📄 crates/but-api/src/legacy/worktree.rs
📄 crates/but-api/src/lib.rs
📄 crates/but-api/src/platform.rs
📁 crates/but-bot
📄 crates/but-bot/Cargo.toml
📁 crates/but-bot/src
📄 crates/but-bot/src/agent.rs
📄 crates/but-bot/src/butbot.rs
📄 crates/but-bot/src/lib.rs
📄 crates/but-bot/src/state.rs
📁 crates/but-cherry-apply
📄 crates/but-cherry-apply/Cargo.toml
📁 crates/but-cherry-apply/src
📄 crates/but-cherry-apply/src/lib.rs
📁 crates/but-cherry-apply/tests
📁 crates/but-cherry-apply/tests/cherry_apply
📄 crates/but-cherry-apply/tests/cherry_apply/clean_to_both.rs
📄 crates/but-cherry-apply/tests/cherry_apply/conflicts_with_bar.rs
📄 crates/but-cherry-apply/tests/cherry_apply/conflicts_with_both.rs
📄 crates/but-cherry-apply/tests/cherry_apply/main.rs
📁 crates/but-cherry-apply/tests/fixtures
📁 crates/but-cherry-apply/tests/fixtures/scenario
📄 crates/but-cherry-apply/tests/fixtures/scenario/clean-to-both.sh
📄 crates/but-cherry-apply/tests/fixtures/scenario/conflicts-with-bar.sh
📄 crates/but-cherry-apply/tests/fixtures/scenario/conflicts-with-both.sh
📄 crates/but-cherry-apply/tests/fixtures/scenario/no-stacks.sh
📄 crates/but-cherry-apply/tests/fixtures/scenario/shared.sh
📁 crates/but-clap
📄 crates/but-clap/Cargo.toml
📄 crates/but-clap/README.md
📁 crates/but-clap/src
📄 crates/but-clap/src/generator.rs
📄 crates/but-clap/src/lib.rs
📄 crates/but-clap/src/main.rs
📁 crates/but-clap/tests
📄 crates/but-clap/tests/mdx_generation.rs
📁 crates/but-claude
📄 crates/but-claude/Cargo.toml
📁 crates/but-claude/src
📄 crates/but-claude/src/broadcaster.rs
📄 crates/but-claude/src/claude_mcp.rs
📄 crates/but-claude/src/claude_settings.rs
📄 crates/but-claude/src/claude_sub_agents.rs
📄 crates/but-claude/src/claude_transcript.rs
📄 crates/but-claude/src/compact.rs
📄 crates/but-claude/src/db.rs
📁 crates/but-claude/src/hooks
📄 crates/but-claude/src/hooks/file_lock.rs
📄 crates/but-claude/src/hooks/mod.rs
📄 crates/but-claude/src/legacy.rs
📄 crates/but-claude/src/lib.rs
📄 crates/but-claude/src/notifications.rs
📄 crates/but-claude/src/pending_requests.rs
📁 crates/but-claude/src/permissions
📄 crates/but-claude/src/permissions/bash.rs
📄 crates/but-claude/src/permissions/mod.rs
📄 crates/but-claude/src/permissions/patterns.rs
📄 crates/but-claude/src/permissions/settings.rs
📄 crates/but-claude/src/prompt_templates.rs
📄 crates/but-claude/src/rules.rs
📄 crates/but-claude/src/session.rs
📁 crates/but-core
📄 crates/but-core/Cargo.toml
📁 crates/but-core/src
📁 crates/but-core/src/branch
📄 crates/but-core/src/branch/generate.rs
📄 crates/but-core/src/branch/mod.rs
📄 crates/but-core/src/branch/normalize.rs
📄 crates/but-core/src/branch/safe_delete.rs
📄 crates/but-core/src/change_id.rs
📄 crates/but-core/src/cmd.rs
📄 crates/but-core/src/commit.rs
📁 crates/but-core/src/diff
📄 crates/but-core/src/diff/commit_details.rs
📄 crates/but-core/src/diff/mod.rs
📄 crates/but-core/src/diff/tree_changes.rs
📄 crates/but-core/src/diff/ui.rs
📄 crates/but-core/src/diff/worktree.rs
📄 crates/but-core/src/diff_types.rs
📄 crates/but-core/src/ext.rs
📄 crates/but-core/src/hunks.rs
📄 crates/but-core/src/id.rs
📄 crates/but-core/src/lib.rs
📄 crates/but-core/src/ref_metadata.rs
📄 crates/but-core/src/repo_ext.rs
📄 crates/but-core/src/settings.rs
📁 crates/but-core/src/snapshot
📄 crates/but-core/src/snapshot/create_tree.rs
📄 crates/but-core/src/snapshot/mod.rs
📄 crates/but-core/src/snapshot/resolve_tree.rs
📄 crates/but-core/src/sync.rs
📁 crates/but-core/src/tree
📄 crates/but-core/src/tree/mod.rs
📄 crates/but-core/src/tree/tests.rs
📄 crates/but-core/src/ui.rs
📄 crates/but-core/src/unified_diff.rs
📁 crates/but-core/src/worktree
📁 crates/but-core/src/worktree/checkout
📄 crates/but-core/src/worktree/checkout/function.rs
📄 crates/but-core/src/worktree/checkout/mod.rs
📄 crates/but-core/src/worktree/checkout/tree.rs
📄 crates/but-core/src/worktree/checkout/utils.rs
📄 crates/but-core/src/worktree/mod.rs
📁 crates/but-core/tests
📁 crates/but-core/tests/core
📁 crates/but-core/tests/core/branch
📄 crates/but-core/tests/core/branch/canned_refname.rs
📄 crates/but-core/tests/core/branch/find_unique_refname.rs
📄 crates/but-core/tests/core/branch/mod.rs
📄 crates/but-core/tests/core/branch/normalize_short_name.rs
📄 crates/but-core/tests/core/change_id.rs
📄 crates/but-core/tests/core/cmd.rs
📄 crates/but-core/tests/core/commit.rs
📁 crates/but-core/tests/core/diff
📄 crates/but-core/tests/core/diff/mod.rs
📄 crates/but-core/tests/core/diff/tree_changes.rs
📄 crates/but-core/tests/core/diff/ui.rs
📄 crates/but-core/tests/core/diff/worktree_changes.rs
📄 crates/but-core/tests/core/extract_remote_name_and_short_name.rs
📄 crates/but-core/tests/core/json_samples.rs
📄 crates/but-core/tests/core/main.rs
📄 crates/but-core/tests/core/ref_metadata.rs
📄 crates/but-core/tests/core/settings.rs
📁 crates/but-core/tests/core/snapshot
📄 crates/but-core/tests/core/snapshot/index_create_and_resolve.rs
📄 crates/but-core/tests/core/snapshot/mod.rs
📄 crates/but-core/tests/core/snapshot/worktree_create_and_resolve.rs
📄 crates/but-core/tests/core/sync.rs
📄 crates/but-core/tests/core/unified_diff.rs
📁 crates/but-core/tests/core/worktree
📄 crates/but-core/tests/core/worktree/checkout.rs
📄 crates/but-core/tests/core/worktree/mod.rs
📁 crates/but-core/tests/fixtures
📄 crates/but-core/tests/fixtures/conflict-commits.sh
📄 crates/but-core/tests/fixtures/delete-references.sh
📁 crates/but-core/tests/fixtures/generated-archives
📄 crates/but-core/tests/fixtures/generated-archives/sparse.tar
📁 crates/but-core/tests/fixtures/scenario
📄 crates/but-core/tests/fixtures/scenario/all-file-types-renamed-and-modified.sh
📄 crates/but-core/tests/fixtures/scenario/all-file-types-renamed-and-overwriting-existing.sh
📄 crates/but-core/tests/fixtures/scenario/deletion-addition-untracked.sh
📄 crates/but-core/tests/fixtures/scenario/index-modified-added-deleted.sh
📄 crates/but-core/tests/fixtures/scenario/merge-with-two-branches-conflict.sh
📄 crates/but-core/tests/fixtures/scenario/merge-with-two-branches-line-offset.sh
📄 crates/but-core/tests/fixtures/scenario/mixed-hunk-modifications.sh
📄 crates/but-core/tests/fixtures/scenario/multiple-remotes-with-tracking-branches.sh
📄 crates/but-core/tests/fixtures/scenario/shared.sh
📄 crates/but-core/tests/fixtures/scenario/unborn-all-file-types-added-to-index.sh
📄 crates/but-core/tests/fixtures/scenario/unborn-empty.sh
📄 crates/but-core/tests/fixtures/scenario/unborn-untracked-all-file-types.sh
📄 crates/but-core/tests/fixtures/sparse.sh
📄 crates/but-core/tests/fixtures/status-repo.sh
📄 crates/but-core/tests/fixtures/worktree-changes-unix.sh
📄 crates/but-core/tests/fixtures/worktree-changes.sh
📁 crates/but-ctx
📄 crates/but-ctx/Cargo.toml
📁 crates/but-ctx/src
📄 crates/but-ctx/src/access.rs
📄 crates/but-ctx/src/legacy.rs
📄 crates/but-ctx/src/lib.rs
📄 crates/but-ctx/src/ondemand.rs
📄 crates/but-ctx/src/ondemand_cache.rs
📁 crates/but-cursor
📄 crates/but-cursor/Cargo.toml
📁 crates/but-cursor/src
📄 crates/but-cursor/src/db.rs
📄 crates/but-cursor/src/lib.rs
📄 crates/but-cursor/src/workspace_identifier.rs
📁 crates/but-db
📄 crates/but-db/Cargo.toml
📄 crates/but-db/build.rs
📁 crates/but-db/src
📁 crates/but-db/src/cache
📄 crates/but-db/src/cache/handle.rs
📄 crates/but-db/src/cache/mod.rs
📁 crates/but-db/src/cache/table
📄 crates/but-db/src/cache/table/mod.rs
📄 crates/but-db/src/cache/table/update.rs
📄 crates/but-db/src/cache/tests.rs
📄 crates/but-db/src/handle.rs
📄 crates/but-db/src/lib.rs
📄 crates/but-db/src/migration.rs
📄 crates/but-db/src/poll.rs
📁 crates/but-db/src/table
📄 crates/but-db/src/table/butler_actions.rs
📄 crates/but-db/src/table/ci_checks.rs
📄 crates/but-db/src/table/claude.rs
📄 crates/but-db/src/table/file_write_locks.rs
📄 crates/but-db/src/table/forge_reviews.rs
📄 crates/but-db/src/table/gerrit_metadata.rs
📄 crates/but-db/src/table/hunk_assignments.rs
📄 crates/but-db/src/table/mod.rs
📄 crates/but-db/src/table/workflows.rs
📄 crates/but-db/src/table/workspace_rules.rs
📄 crates/but-db/src/transaction.rs
📁 crates/but-db/tests
📄 crates/but-db/tests/cross_process_migrations.rs
📁 crates/but-db/tests/db
📁 crates/but-db/tests/db/cache
📄 crates/but-db/tests/db/cache/mod.rs
📁 crates/but-db/tests/db/cache/table
📄 crates/but-db/tests/db/cache/table/mod.rs
📄 crates/but-db/tests/db/cache/table/update.rs
📄 crates/but-db/tests/db/handle.rs
📄 crates/but-db/tests/db/main.rs
📄 crates/but-db/tests/db/migration.rs
📁 crates/but-db/tests/db/table
📄 crates/but-db/tests/db/table/butler_actions.rs
📄 crates/but-db/tests/db/table/ci_check.rs
📄 crates/but-db/tests/db/table/claude.rs
📄 crates/but-db/tests/db/table/file_write_lock.rs
📄 crates/but-db/tests/db/table/forge_review.rs
📄 crates/but-db/tests/db/table/gerrit_metadata.rs
📄 crates/but-db/tests/db/table/hunk_assignments.rs
📄 crates/but-db/tests/db/table/mod.rs
📄 crates/but-db/tests/db/table/workflows.rs
📄 crates/but-db/tests/db/table/workspace_rules.rs
📄 crates/but-db/tests/db/transaction.rs
📄 crates/but-db/tests/open_rela_path.rs
📁 crates/but-debugging
📄 crates/but-debugging/Cargo.toml
📁 crates/but-debugging/src
📄 crates/but-debugging/src/lib.rs
📁 crates/but-debugging/tests
📁 crates/but-debugging/tests/core
📄 crates/but-debugging/tests/core/main.rs
📁 crates/but-error
📄 crates/but-error/Cargo.toml
📁 crates/but-error/src
📄 crates/but-error/src/lib.rs
📁 crates/but-feedback
📄 crates/but-feedback/Cargo.toml
📁 crates/but-feedback/src
📄 crates/but-feedback/src/lib.rs
📄 crates/but-feedback/src/zip.rs
📁 crates/but-feedback/tests
📁 crates/but-feedback/tests/feedback
📄 crates/but-feedback/tests/feedback/main.rs
📁 crates/but-forge-storage
📄 crates/but-forge-storage/Cargo.toml
📁 crates/but-forge-storage/src
📄 crates/but-forge-storage/src/controller.rs
📄 crates/but-forge-storage/src/lib.rs
📄 crates/but-forge-storage/src/settings.rs
📄 crates/but-forge-storage/src/storage.rs
📁 crates/but-forge
📄 crates/but-forge/Cargo.toml
📁 crates/but-forge/src
📄 crates/but-forge/src/ci.rs
📄 crates/but-forge/src/db.rs
📄 crates/but-forge/src/forge.rs
📄 crates/but-forge/src/lib.rs
📄 crates/but-forge/src/review.rs
📁 crates/but-fs
📄 crates/but-fs/Cargo.toml
📁 crates/but-fs/src
📄 crates/but-fs/src/lib.rs
📁 crates/but-gerrit
📄 crates/but-gerrit/Cargo.toml
📁 crates/but-gerrit/src
📄 crates/but-gerrit/src/lib.rs
📄 crates/but-gerrit/src/parse.rs
📁 crates/but-gerrit/tests
📁 crates/but-gerrit/tests/fixtures
📁 crates/but-gerrit/tests/fixtures/scenario
📄 crates/but-gerrit/tests/fixtures/scenario/one-commit-with-gerrit-remote.sh
📄 crates/but-gerrit/tests/fixtures/scenario/shared.sh
📁 crates/but-gerrit/tests/gerrit
📄 crates/but-gerrit/tests/gerrit/main.rs
📁 crates/but-github
📄 crates/but-github/Cargo.toml
📁 crates/but-github/src
📄 crates/but-github/src/client.rs
📄 crates/but-github/src/lib.rs
📄 crates/but-github/src/pr.rs
📄 crates/but-github/src/token.rs
📁 crates/but-gitlab
📄 crates/but-gitlab/Cargo.toml
📁 crates/but-gitlab/src
📄 crates/but-gitlab/src/client.rs
📄 crates/but-gitlab/src/lib.rs
📄 crates/but-gitlab/src/mr.rs
📄 crates/but-gitlab/src/project.rs
📄 crates/but-gitlab/src/token.rs
📁 crates/but-graph
📄 crates/but-graph/Cargo.toml
📁 crates/but-graph/src
📄 crates/but-graph/src/api.rs
📄 crates/but-graph/src/debug.rs
📁 crates/but-graph/src/init
📄 crates/but-graph/src/init/mod.rs
📄 crates/but-graph/src/init/overlay.rs
📄 crates/but-graph/src/init/post.rs
📄 crates/but-graph/src/init/remotes.rs
📄 crates/but-graph/src/init/types.rs
📄 crates/but-graph/src/init/walk.rs
📄 crates/but-graph/src/lib.rs
📁 crates/but-graph/src/projection
📄 crates/but-graph/src/projection/mod.rs
📄 crates/but-graph/src/projection/stack.rs
📁 crates/but-graph/src/projection/workspace
📄 crates/but-graph/src/projection/workspace/api.rs
📄 crates/but-graph/src/projection/workspace/init.rs
📄 crates/but-graph/src/projection/workspace/mod.rs
📄 crates/but-graph/src/segment.rs
📄 crates/but-graph/src/statistics.rs
📁 crates/but-graph/tests
📁 crates/but-graph/tests/fixtures
📄 crates/but-graph/tests/fixtures/scenarios.sh
📁 crates/but-graph/tests/graph
📁 crates/but-graph/tests/graph/init
📄 crates/but-graph/tests/graph/init/mod.rs
📄 crates/but-graph/tests/graph/init/utils.rs
📄 crates/but-graph/tests/graph/init/with_workspace.rs
📄 crates/but-graph/tests/graph/main.rs
📄 crates/but-graph/tests/graph/vis.rs
📁 crates/but-graph/tests/graph/workspace
📄 crates/but-graph/tests/graph/workspace/merge_base_with_target_branch.rs
📄 crates/but-graph/tests/graph/workspace/mod.rs
📄 crates/but-graph/tests/graph/workspace/remote_name.rs
📁 crates/but-hunk-assignment
📄 crates/but-hunk-assignment/Cargo.toml
📁 crates/but-hunk-assignment/src
📄 crates/but-hunk-assignment/src/lib.rs
📄 crates/but-hunk-assignment/src/reconcile.rs
📄 crates/but-hunk-assignment/src/state.rs
📁 crates/but-hunk-dependency
📄 crates/but-hunk-dependency/Cargo.toml
📄 crates/but-hunk-dependency/README.md
📁 crates/but-hunk-dependency/src
📄 crates/but-hunk-dependency/src/input.rs
📄 crates/but-hunk-dependency/src/lib.rs
📁 crates/but-hunk-dependency/src/ranges
📄 crates/but-hunk-dependency/src/ranges/hunk.rs
📄 crates/but-hunk-dependency/src/ranges/mod.rs
📄 crates/but-hunk-dependency/src/ranges/paths.rs
📁 crates/but-hunk-dependency/src/ranges/tests
📄 crates/but-hunk-dependency/src/ranges/tests/mod.rs
📄 crates/but-hunk-dependency/src/ranges/tests/path.rs
📄 crates/but-hunk-dependency/src/ranges/tests/workspace.rs
📄 crates/but-hunk-dependency/src/ui.rs
📄 crates/but-hunk-dependency/src/utils.rs
📁 crates/but-hunk-dependency/tests
📁 crates/but-hunk-dependency/tests/fixtures
📄 crates/but-hunk-dependency/tests/fixtures/branch-states.sh
📁 crates/but-hunk-dependency/tests/fixtures/scenario
📄 crates/but-hunk-dependency/tests/fixtures/scenario/complex-branch-checkout.sh
📄 crates/but-hunk-dependency/tests/fixtures/scenario/complex-file-manipulation-multiple-hunks-with-changes.sh
📄 crates/but-hunk-dependency/tests/fixtures/scenario/complex-file-manipulation-multiple-hunks.sh
📄 crates/but-hunk-dependency/tests/fixtures/scenario/complex-file-manipulation-with-worktree-changes.sh
📄 crates/but-hunk-dependency/tests/fixtures/scenario/complex-file-manipulation.sh
📄 crates/but-hunk-dependency/tests/fixtures/scenario/delete-and-recreate-file-multi-stack.sh
📄 crates/but-hunk-dependency/tests/fixtures/scenario/independent-commits-multi-stack.sh
📄 crates/but-hunk-dependency/tests/fixtures/scenario/independent-commits.sh
📄 crates/but-hunk-dependency/tests/fixtures/scenario/merge-commit.sh
📄 crates/but-hunk-dependency/tests/fixtures/scenario/sequentially-dependent-commits-multi-stack.sh
📄 crates/but-hunk-dependency/tests/fixtures/scenario/sequentially-dependent-commits.sh
📄 crates/but-hunk-dependency/tests/fixtures/scenario/shared.sh
📁 crates/but-hunk-dependency/tests/hunk_dependency
📄 crates/but-hunk-dependency/tests/hunk_dependency/main.rs
📄 crates/but-hunk-dependency/tests/hunk_dependency/query_workspace_ranges.rs
📄 crates/but-hunk-dependency/tests/hunk_dependency/ui.rs
📄 crates/but-hunk-dependency/tests/hunk_dependency/workspace_dependencies.rs
📁 crates/but-installer
📄 crates/but-installer/Cargo.toml
📄 crates/but-installer/README.md
📁 crates/but-installer/src
📄 crates/but-installer/src/config.rs
📄 crates/but-installer/src/download.rs
📄 crates/but-installer/src/http.rs
📄 crates/but-installer/src/install.rs
📄 crates/but-installer/src/lib.rs
📄 crates/but-installer/src/main.rs
📄 crates/but-installer/src/release.rs
📄 crates/but-installer/src/shell.rs
📄 crates/but-installer/src/ui.rs
📁 crates/but-llm
📄 crates/but-llm/Cargo.toml
📁 crates/but-llm/src
📄 crates/but-llm/src/anthropic.rs
📄 crates/but-llm/src/chat.rs
📄 crates/but-llm/src/client.rs
📄 crates/but-llm/src/key.rs
📄 crates/but-llm/src/lib.rs
📄 crates/but-llm/src/lmstudio.rs
📄 crates/but-llm/src/ollama.rs
📄 crates/but-llm/src/openai.rs
📄 crates/but-llm/src/openai_utils.rs
📁 crates/but-meta
📄 crates/but-meta/Cargo.toml
📁 crates/but-meta/src
📄 crates/but-meta/src/legacy.rs
📄 crates/but-meta/src/lib.rs
📄 crates/but-meta/src/virtual_branches_legacy_types.rs
📁 crates/but-meta/tests
📁 crates/but-meta/tests/fixtures
📁 crates/but-meta/tests/fixtures/legacy
📄 crates/but-meta/tests/fixtures/legacy/legacy-change-id.toml
📄 crates/but-meta/tests/fixtures/legacy/non-unique-branches.toml
📄 crates/but-meta/tests/fixtures/legacy/virtual-branches-01.toml
📁 crates/but-meta/tests/fixtures/scenario
📄 crates/but-meta/tests/fixtures/scenario/dlib-standin.sh
📄 crates/but-meta/tests/fixtures/scenario/shared.sh
📁 crates/but-meta/tests/meta
📄 crates/but-meta/tests/meta/main.rs
📄 crates/but-meta/tests/meta/ref_metadata_legacy.rs
📁 crates/but-oplog
📄 crates/but-oplog/Cargo.toml
📁 crates/but-oplog/src
📄 crates/but-oplog/src/lib.rs
📁 crates/but-oxidize
📄 crates/but-oxidize/Cargo.toml
📁 crates/but-oxidize/src
📄 crates/but-oxidize/src/lib.rs
📁 crates/but-path
📄 crates/but-path/Cargo.toml
📁 crates/but-path/src
📄 crates/but-path/src/lib.rs
📁 crates/but-rebase
📄 crates/but-rebase/Cargo.toml
📁 crates/but-rebase/src
📄 crates/but-rebase/src/cherry_pick.rs
📄 crates/but-rebase/src/commit.rs
📁 crates/but-rebase/src/graph_rebase
📄 crates/but-rebase/src/graph_rebase/cherry_pick.rs
📄 crates/but-rebase/src/graph_rebase/commit.rs
📄 crates/but-rebase/src/graph_rebase/creation.rs
📄 crates/but-rebase/src/graph_rebase/materialize.rs
📄 crates/but-rebase/src/graph_rebase/mod.rs
📄 crates/but-rebase/src/graph_rebase/mutate.rs
📄 crates/but-rebase/src/graph_rebase/rebase.rs
📄 crates/but-rebase/src/graph_rebase/testing.rs
📄 crates/but-rebase/src/graph_rebase/util.rs
📄 crates/but-rebase/src/lib.rs
📄 crates/but-rebase/src/merge.rs
📁 crates/but-rebase/tests
📁 crates/but-rebase/tests/fixtures
📄 crates/but-rebase/tests/fixtures/.gitignore
📁 crates/but-rebase/tests/fixtures/generated-archives
📄 crates/but-rebase/tests/fixtures/generated-archives/.gitignore
📄 crates/but-rebase/tests/fixtures/generated-archives/four-commits-signed.tar
📄 crates/but-rebase/tests/fixtures/generated-archives/workspace-signed.tar
📄 crates/but-rebase/tests/fixtures/generated-archives/workspace-with-wc-content-signed.tar
📁 crates/but-rebase/tests/fixtures/scenario
📄 crates/but-rebase/tests/fixtures/scenario/cherry-pick-recursive-merge.sh
📄 crates/but-rebase/tests/fixtures/scenario/cherry-pick.sh
📄 crates/but-rebase/tests/fixtures/scenario/first-parent-leg-long.sh
📄 crates/but-rebase/tests/fixtures/scenario/four-commits-one-file.sh
📄 crates/but-rebase/tests/fixtures/scenario/four-commits-signed.sh
📄 crates/but-rebase/tests/fixtures/scenario/four-commits.sh
📄 crates/but-rebase/tests/fixtures/scenario/many-references.sh
📄 crates/but-rebase/tests/fixtures/scenario/merge-in-the-middle.sh
📄 crates/but-rebase/tests/fixtures/scenario/second-parent-leg-long.sh
📄 crates/but-rebase/tests/fixtures/scenario/shared.sh
📄 crates/but-rebase/tests/fixtures/scenario/single-commit.sh
📄 crates/but-rebase/tests/fixtures/scenario/three-branches-merged.sh
📄 crates/but-rebase/tests/fixtures/scenario/workspace-signed.sh
📄 crates/but-rebase/tests/fixtures/scenario/workspace-with-empty-stack.sh
📄 crates/but-rebase/tests/fixtures/scenario/workspace-with-wc-content-signed.sh
📁 crates/but-rebase/tests/rebase
📄 crates/but-rebase/tests/rebase/error_handling.rs
📁 crates/but-rebase/tests/rebase/graph_rebase
📄 crates/but-rebase/tests/rebase/graph_rebase/cherry_pick.rs
📄 crates/but-rebase/tests/rebase/graph_rebase/conflictable_restriction.rs
📄 crates/but-rebase/tests/rebase/graph_rebase/editor_creation.rs
📄 crates/but-rebase/tests/rebase/graph_rebase/insert.rs
📄 crates/but-rebase/tests/rebase/graph_rebase/materialize.rs
📄 crates/but-rebase/tests/rebase/graph_rebase/mod.rs
📄 crates/but-rebase/tests/rebase/graph_rebase/multiple_operations.rs
📄 crates/but-rebase/tests/rebase/graph_rebase/parents_must_be_references_restriction.rs
📄 crates/but-rebase/tests/rebase/graph_rebase/rebase_identities.rs
📄 crates/but-rebase/tests/rebase/graph_rebase/replace.rs
📄 crates/but-rebase/tests/rebase/graph_rebase/signing_preferences.rs
📄 crates/but-rebase/tests/rebase/graph_rebase/workspace_commit_behaviour.rs
📄 crates/but-rebase/tests/rebase/main.rs
📁 crates/but-rules
📄 crates/but-rules/Cargo.toml
📁 crates/but-rules/src
📄 crates/but-rules/src/db.rs
📄 crates/but-rules/src/handler.rs
📄 crates/but-rules/src/lib.rs
📁 crates/but-secret
📄 crates/but-secret/Cargo.toml
📁 crates/but-secret/src
📄 crates/but-secret/src/lib.rs
📄 crates/but-secret/src/secret.rs
📄 crates/but-secret/src/sensitive.rs
📁 crates/but-secret/tests
📄 crates/but-secret/tests/mod.rs
📁 crates/but-serde
📄 crates/but-serde/Cargo.toml
📁 crates/but-serde/src
📄 crates/but-serde/src/bstring.rs
📄 crates/but-serde/src/lib.rs
📁 crates/but-server
📄 crates/but-server/Cargo.toml
📄 crates/but-server/SECURITY.md
📁 crates/but-server/src
📄 crates/but-server/src/lib.rs
📄 crates/but-server/src/main.rs
📄 crates/but-server/src/projects.rs
📁 crates/but-settings
📄 crates/but-settings/Cargo.toml
📁 crates/but-settings/assets
📄 crates/but-settings/assets/defaults.jsonc
📁 crates/but-settings/src
📄 crates/but-settings/src/api.rs
📄 crates/but-settings/src/app_settings.rs
📄 crates/but-settings/src/json.rs
📄 crates/but-settings/src/legacy_settings.rs
📄 crates/but-settings/src/lib.rs
📄 crates/but-settings/src/persistence.rs
📄 crates/but-settings/src/watch.rs
📁 crates/but-settings/tests
📁 crates/but-settings/tests/fixtures
📄 crates/but-settings/tests/fixtures/modify_default_true_to_false.json
📁 crates/but-settings/tests/settings
📄 crates/but-settings/tests/settings/main.rs
📁 crates/but-status
📄 crates/but-status/Cargo.toml
📁 crates/but-status/src
📄 crates/but-status/src/lib.rs
📁 crates/but-testing
📄 crates/but-testing/Cargo.toml
📁 crates/but-testing/src
📄 crates/but-testing/src/args.rs
📁 crates/but-testing/src/command
📄 crates/but-testing/src/command/commit.rs
📄 crates/but-testing/src/command/diff.rs
📄 crates/but-testing/src/command/graph.rs
📄 crates/but-testing/src/command/mod.rs
📄 crates/but-testing/src/command/project.rs
📄 crates/but-testing/src/main.rs
📁 crates/but-testsupport
📄 crates/but-testsupport/Cargo.toml
📁 crates/but-testsupport/src
📄 crates/but-testsupport/src/graph.rs
📄 crates/but-testsupport/src/in_memory_meta.rs
📄 crates/but-testsupport/src/lib.rs
📄 crates/but-testsupport/src/prepare_cmd_env.rs
📄 crates/but-testsupport/src/sandbox.rs
📁 crates/but-tools
📄 crates/but-tools/Cargo.toml
📁 crates/but-tools/src
📄 crates/but-tools/src/emit.rs
📄 crates/but-tools/src/lib.rs
📄 crates/but-tools/src/ollama.rs
📄 crates/but-tools/src/openai.rs
📄 crates/but-tools/src/tool.rs
📄 crates/but-tools/src/workspace.rs
📁 crates/but-update
📄 crates/but-update/Cargo.toml
📁 crates/but-update/src
📄 crates/but-update/src/cache.rs
📄 crates/but-update/src/check.rs
📄 crates/but-update/src/lib.rs
📁 crates/but-update/tests
📁 crates/but-update/tests/update
📄 crates/but-update/tests/update/app_name.rs
📄 crates/but-update/tests/update/available_update.rs
📄 crates/but-update/tests/update/main.rs
📄 crates/but-update/tests/update/response_parsing.rs
📄 crates/but-update/tests/update/suppress_update.rs
📁 crates/but-workspace
📄 crates/but-workspace/Cargo.toml
📁 crates/but-workspace/src
📁 crates/but-workspace/src/branch
📄 crates/but-workspace/src/branch/apply.rs
📄 crates/but-workspace/src/branch/create_reference.rs
📄 crates/but-workspace/src/branch/mod.rs
📄 crates/but-workspace/src/branch/remove_reference.rs
📄 crates/but-workspace/src/branch_details.rs
📄 crates/but-workspace/src/changeset.rs
📁 crates/but-workspace/src/commit
📄 crates/but-workspace/src/commit/insert_blank_commit.rs
📄 crates/but-workspace/src/commit/mod.rs
📄 crates/but-workspace/src/commit/move_changes.rs
📄 crates/but-workspace/src/commit/reword.rs
📄 crates/but-workspace/src/commit/uncommit_changes.rs
📁 crates/but-workspace/src/commit_engine
📄 crates/but-workspace/src/commit_engine/index.rs
📄 crates/but-workspace/src/commit_engine/mod.rs
📄 crates/but-workspace/src/commit_engine/ui.rs
📁 crates/but-workspace/src/legacy
📁 crates/but-workspace/src/legacy/commit_engine
📄 crates/but-workspace/src/legacy/commit_engine/index.rs
📄 crates/but-workspace/src/legacy/commit_engine/mod.rs
📄 crates/but-workspace/src/legacy/commit_engine/reference_frame.rs
📄 crates/but-workspace/src/legacy/commit_engine/refs.rs
📄 crates/but-workspace/src/legacy/head.rs
📄 crates/but-workspace/src/legacy/integrated.rs
📄 crates/but-workspace/src/legacy/mod.rs
📄 crates/but-workspace/src/legacy/stack_ext.rs
📄 crates/but-workspace/src/legacy/stacks.rs
📁 crates/but-workspace/src/legacy/tree_manipulation
📄 crates/but-workspace/src/legacy/tree_manipulation/mod.rs
📄 crates/but-workspace/src/legacy/tree_manipulation/move_between_commits.rs
📄 crates/but-workspace/src/legacy/tree_manipulation/remove_changes_from_commit_in_stack.rs
📄 crates/but-workspace/src/legacy/tree_manipulation/split_branch.rs
📄 crates/but-workspace/src/legacy/tree_manipulation/split_commit.rs
📄 crates/but-workspace/src/legacy/tree_manipulation/utils.rs
📄 crates/but-workspace/src/legacy/ui.rs
📄 crates/but-workspace/src/lib.rs
📄 crates/but-workspace/src/ref_info.rs
📁 crates/but-workspace/src/tree_manipulation
📄 crates/but-workspace/src/tree_manipulation/create_tree_without_diff.rs
📄 crates/but-workspace/src/tree_manipulation/discard_worktree_changes.rs
📁 crates/but-workspace/src/tree_manipulation/hunk
📄 crates/but-workspace/src/tree_manipulation/hunk/mod.rs
📄 crates/but-workspace/src/tree_manipulation/hunk/tests.rs
📄 crates/but-workspace/src/tree_manipulation/mod.rs
📁 crates/but-workspace/src/ui
📄 crates/but-workspace/src/ui/author.rs
📄 crates/but-workspace/src/ui/diff.rs
📄 crates/but-workspace/src/ui/mod.rs
📄 crates/but-workspace/src/ui/ref_info.rs
📁 crates/but-workspace/tests
📁 crates/but-workspace/tests/fixtures
📄 crates/but-workspace/tests/fixtures/.gitignore
📁 crates/but-workspace/tests/fixtures/generated-archives
📄 crates/but-workspace/tests/fixtures/generated-archives/.gitignore
📄 crates/but-workspace/tests/fixtures/generated-archives/merge-signed-with-two-branches-line-offset.tar
📄 crates/but-workspace/tests/fixtures/generated-archives/two-signed-commits-with-line-offset.tar
📁 crates/but-workspace/tests/fixtures/scenario
📄 crates/but-workspace/tests/fixtures/scenario/advanced-stack-and-unnamed-stack-in-workspace.sh
📄 crates/but-workspace/tests/fixtures/scenario/all-file-types-changed.sh
📄 crates/but-workspace/tests/fixtures/scenario/all-file-types-modified.sh
📄 crates/but-workspace/tests/fixtures/scenario/all-file-types-renamed-and-modified.sh
📄 crates/but-workspace/tests/fixtures/scenario/all-file-types-renamed-and-overwriting-existing.sh
📄 crates/but-workspace/tests/fixtures/scenario/delete-all-file-types-valid-submodule.sh
📄 crates/but-workspace/tests/fixtures/scenario/delete-all-file-types.sh
📄 crates/but-workspace/tests/fixtures/scenario/deletion-addition-untracked.sh
📄 crates/but-workspace/tests/fixtures/scenario/detached-with-multiple-branches.sh
📄 crates/but-workspace/tests/fixtures/scenario/index-modified-added-deleted.sh
📄 crates/but-workspace/tests/fixtures/scenario/insert-blank-commit-three-commits copy.sh
📄 crates/but-workspace/tests/fixtures/scenario/journey01.sh
📄 crates/but-workspace/tests/fixtures/scenario/journey02.sh
📄 crates/but-workspace/tests/fixtures/scenario/journey03.sh
📄 crates/but-workspace/tests/fixtures/scenario/main-with-advanced-remote.sh
📄 crates/but-workspace/tests/fixtures/scenario/merge-signed-with-two-branches-line-offset.sh
📄 crates/but-workspace/tests/fixtures/scenario/merge-with-two-branches-auto-resolved-merge.sh
📄 crates/but-workspace/tests/fixtures/scenario/merge-with-two-branches-conflict.sh
📄 crates/but-workspace/tests/fixtures/scenario/merge-with-two-branches-line-offset-two-files.sh
📄 crates/but-workspace/tests/fixtures/scenario/merge-with-two-branches-line-offset.sh
📄 crates/but-workspace/tests/fixtures/scenario/mixed-hunk-modifications.sh
📄 crates/but-workspace/tests/fixtures/scenario/modified-submodule-and-embedded-repo.sh
📄 crates/but-workspace/tests/fixtures/scenario/move-directory-into-sibling-file.sh
📄 crates/but-workspace/tests/fixtures/scenario/multi-branch-with-ws-commit.sh
📄 crates/but-workspace/tests/fixtures/scenario/no-ws-ref-no-ws-commit-two-branches.sh
📄 crates/but-workspace/tests/fixtures/scenario/no-ws-ref-stack-and-dependent-branch.sh
📄 crates/but-workspace/tests/fixtures/scenario/one-commit-detached.sh
📄 crates/but-workspace/tests/fixtures/scenario/one-fork.sh
📄 crates/but-workspace/tests/fixtures/scenario/plain-modifications.sh
📄 crates/but-workspace/tests/fixtures/scenario/replace-dir-with-submodule-with-file.sh
📄 crates/but-workspace/tests/fixtures/scenario/reword-three-commits.sh
📄 crates/but-workspace/tests/fixtures/scenario/shared.sh
📄 crates/but-workspace/tests/fixtures/scenario/single-branch-10-commits-multi-segment.sh
📄 crates/but-workspace/tests/fixtures/scenario/single-branch-10-commits.sh
📄 crates/but-workspace/tests/fixtures/scenario/single-branch-3-commits-no-ws-commit-more-branches.sh
📄 crates/but-workspace/tests/fixtures/scenario/single-branch-3-commits-no-ws-commit.sh
📄 crates/but-workspace/tests/fixtures/scenario/single-branch-4-commits-more-branches.sh
📄 crates/but-workspace/tests/fixtures/scenario/single-branch-4-commits.sh
📄 crates/but-workspace/tests/fixtures/scenario/single-branch-no-ws-commit-no-target.sh
📄 crates/but-workspace/tests/fixtures/scenario/single-branch-no-ws-commit.sh
📄 crates/but-workspace/tests/fixtures/scenario/single-branch-with-3-commits.sh
📄 crates/but-workspace/tests/fixtures/scenario/single-stack-two-segments.sh
📄 crates/but-workspace/tests/fixtures/scenario/submodule-typechanges.sh
📄 crates/but-workspace/tests/fixtures/scenario/three-commits-with-line-offset-and-workspace-commit.sh
📄 crates/but-workspace/tests/fixtures/scenario/two-commits-three-buckets.sh
📄 crates/but-workspace/tests/fixtures/scenario/two-commits-with-line-offset.sh
📄 crates/but-workspace/tests/fixtures/scenario/two-signed-commits-with-line-offset.sh
📄 crates/but-workspace/tests/fixtures/scenario/unborn-all-file-types-added-to-index.sh
📄 crates/but-workspace/tests/fixtures/scenario/unborn-empty-detached-remote.sh
📄 crates/but-workspace/tests/fixtures/scenario/unborn-empty.sh
📄 crates/but-workspace/tests/fixtures/scenario/unborn-untracked-all-file-types.sh
📄 crates/but-workspace/tests/fixtures/scenario/unborn-untracked-crlf.sh
📄 crates/but-workspace/tests/fixtures/scenario/unborn-untracked.sh
📄 crates/but-workspace/tests/fixtures/scenario/unborn-with-submodules.sh
📄 crates/but-workspace/tests/fixtures/scenario/various-heads-for-clean-merge.sh
📄 crates/but-workspace/tests/fixtures/scenario/various-heads-for-merge-conflict.sh
📄 crates/but-workspace/tests/fixtures/scenario/various-heads-for-multi-line-merge-conflict.sh
📄 crates/but-workspace/tests/fixtures/scenario/with-conflict.sh
📄 crates/but-workspace/tests/fixtures/scenario/with-remotes-and-workspace.sh
📄 crates/but-workspace/tests/fixtures/scenario/with-remotes-no-workspace.sh
📄 crates/but-workspace/tests/fixtures/scenario/ws-ref-no-ws-commit-one-stack-one-branch.sh
📄 crates/but-workspace/tests/fixtures/scenario/ws-ref-ws-commit-one-stack-ws-advanced.sh
📄 crates/but-workspace/tests/fixtures/scenario/ws-ref-ws-commit-two-stacks.sh
📁 crates/but-workspace/tests/workspace
📁 crates/but-workspace/tests/workspace/branch
📄 crates/but-workspace/tests/workspace/branch/apply_unapply_commit_uncommit.rs
📄 crates/but-workspace/tests/workspace/branch/create_reference.rs
📄 crates/but-workspace/tests/workspace/branch/mod.rs
📄 crates/but-workspace/tests/workspace/branch/remove_reference.rs
📄 crates/but-workspace/tests/workspace/branch_details.rs
📁 crates/but-workspace/tests/workspace/commit
📄 crates/but-workspace/tests/workspace/commit/insert_blank_commit.rs
📄 crates/but-workspace/tests/workspace/commit/mod.rs
📄 crates/but-workspace/tests/workspace/commit/move_changes.rs
📄 crates/but-workspace/tests/workspace/commit/reword.rs
📄 crates/but-workspace/tests/workspace/commit/uncommit_changes.rs
📁 crates/but-workspace/tests/workspace/commit_engine
📄 crates/but-workspace/tests/workspace/commit_engine/amend_commit.rs
📄 crates/but-workspace/tests/workspace/commit_engine/mod.rs
📄 crates/but-workspace/tests/workspace/commit_engine/new_commit.rs
📄 crates/but-workspace/tests/workspace/commit_engine/refs_update.rs
📄 crates/but-workspace/tests/workspace/flatten_diff_specs.rs
📄 crates/but-workspace/tests/workspace/main.rs
📁 crates/but-workspace/tests/workspace/ref_info
📄 crates/but-workspace/tests/workspace/ref_info/mod.rs
📁 crates/but-workspace/tests/workspace/ref_info/with_workspace_commit
📄 crates/but-workspace/tests/workspace/ref_info/with_workspace_commit/branch_details.rs
📁 crates/but-workspace/tests/workspace/ref_info/with_workspace_commit/journey
📄 crates/but-workspace/tests/workspace/ref_info/with_workspace_commit/journey/exhaustive_with_squash_merges.rs
📄 crates/but-workspace/tests/workspace/ref_info/with_workspace_commit/journey/integrate_with_merges.rs
📄 crates/but-workspace/tests/workspace/ref_info/with_workspace_commit/journey/integrate_with_rebase.rs
📄 crates/but-workspace/tests/workspace/ref_info/with_workspace_commit/journey/mod.rs
📄 crates/but-workspace/tests/workspace/ref_info/with_workspace_commit/legacy.rs
📄 crates/but-workspace/tests/workspace/ref_info/with_workspace_commit/mod.rs
📁 crates/but-workspace/tests/workspace/tree_manipulation
📄 crates/but-workspace/tests/workspace/tree_manipulation/file.rs
📄 crates/but-workspace/tests/workspace/tree_manipulation/hunk.rs
📄 crates/but-workspace/tests/workspace/tree_manipulation/mod.rs
📄 crates/but-workspace/tests/workspace/ui.rs
📄 crates/but-workspace/tests/workspace/utils.rs
📁 crates/but-worktrees
📄 crates/but-worktrees/Cargo.toml
📁 crates/but-worktrees/src
📄 crates/but-worktrees/src/db.rs
📄 crates/but-worktrees/src/destroy.rs
📄 crates/but-worktrees/src/git.rs
📄 crates/but-worktrees/src/integrate.rs
📄 crates/but-worktrees/src/lib.rs
📄 crates/but-worktrees/src/list.rs
📄 crates/but-worktrees/src/new.rs
📁 crates/but-worktrees/tests
📁 crates/but-worktrees/tests/fixtures
📁 crates/but-worktrees/tests/fixtures/scenario
📄 crates/but-worktrees/tests/fixtures/scenario/shared.sh
📄 crates/but-worktrees/tests/fixtures/scenario/stacked-and-parallel.sh
📄 crates/but-worktrees/tests/fixtures/scenario/stacked-branches.sh
📁 crates/but-worktrees/tests/worktree
📄 crates/but-worktrees/tests/worktree/main.rs
📄 crates/but-worktrees/tests/worktree/various.rs
📄 crates/but-worktrees/tests/worktree/worktree_destroy.rs
📄 crates/but-worktrees/tests/worktree/worktree_new.rs
📁 crates/but
📄 crates/but/Cargo.toml
📄 crates/but/agents.md
📄 crates/but/build.rs
📁 crates/but/examples
📄 crates/but/examples/eval-hook-settings.json
📁 crates/but/skill
📄 crates/but/skill/README.md
📄 crates/but/skill/RESEARCH.md
📄 crates/but/skill/SKILL.md
📁 crates/but/skill/eval
📄 crates/but/skill/eval/.gitignore
📄 crates/but/skill/eval/README.md
📁 crates/but/skill/eval/assertions
📄 crates/but/skill/eval/assertions/but-assertions.ts
📄 crates/but/skill/eval/package.json
📄 crates/but/skill/eval/pnpm-lock.yaml
📄 crates/but/skill/eval/promptfooconfig.yaml
📁 crates/but/skill/eval/providers
📄 crates/but/skill/eval/providers/but-integration.ts
📄 crates/but/skill/eval/providers/claude-local.sh
📄 crates/but/skill/eval/providers/codex-local.sh
📄 crates/but/skill/eval/setup-fixture.sh
📄 crates/but/skill/eval/tsconfig.json
📁 crates/but/skill/references
📄 crates/but/skill/references/concepts.md
📄 crates/but/skill/references/examples.md
📄 crates/but/skill/references/reference.md
📁 crates/but/src
📄 crates/but/src/alias.rs
📁 crates/but/src/args
📄 crates/but/src/args/alias.rs
📄 crates/but/src/args/branch.rs
📄 crates/but/src/args/commit.rs
📄 crates/but/src/args/config.rs
📄 crates/but/src/args/forge.rs
📄 crates/but/src/args/metrics.rs
📄 crates/but/src/args/mod.rs
📄 crates/but/src/args/oplog.rs
📄 crates/but/src/args/push.rs
📄 crates/but/src/args/resolve.rs
📄 crates/but/src/args/skill.rs
📄 crates/but/src/args/tests.rs
📄 crates/but/src/args/update.rs
📁 crates/but/src/command
📄 crates/but/src/command/alias.rs
📁 crates/but/src/command/branch
📄 crates/but/src/command/branch/apply.rs
📄 crates/but/src/command/branch/mod.rs
📄 crates/but/src/command/completions.rs
📄 crates/but/src/command/config.rs
📄 crates/but/src/command/eval_hook.rs
📄 crates/but/src/command/gui.rs
📄 crates/but/src/command/help.rs
📁 crates/but/src/command/legacy
📄 crates/but/src/command/legacy/absorb.rs
📄 crates/but/src/command/legacy/actions.rs
📄 crates/but/src/command/legacy/ai.rs
📁 crates/but/src/command/legacy/branch
📄 crates/but/src/command/legacy/branch/apply.rs
📄 crates/but/src/command/legacy/branch/json.rs
📄 crates/but/src/command/legacy/branch/list.rs
📄 crates/but/src/command/legacy/branch/mod.rs
📄 crates/but/src/command/legacy/branch/show.rs
📄 crates/but/src/command/legacy/commit.rs
📁 crates/but/src/command/legacy/diff
📄 crates/but/src/command/legacy/diff/display.rs
📄 crates/but/src/command/legacy/diff/mod.rs
📄 crates/but/src/command/legacy/diff/show.rs
📄 crates/but/src/command/legacy/discard.rs
📁 crates/but/src/command/legacy/forge
📄 crates/but/src/command/legacy/forge/mod.rs
📄 crates/but/src/command/legacy/forge/review.rs
📄 crates/but/src/command/legacy/mark.rs
📁 crates/but/src/command/legacy/mcp
📄 crates/but/src/command/legacy/mcp/event.rs
📄 crates/but/src/command/legacy/mcp/mod.rs
📁 crates/but/src/command/legacy/mcp_internal
📄 crates/but/src/command/legacy/mcp_internal/commit.rs
📄 crates/but/src/command/legacy/mcp_internal/mod.rs
📄 crates/but/src/command/legacy/mcp_internal/stack.rs
📄 crates/but/src/command/legacy/merge.rs
📄 crates/but/src/command/legacy/mod.rs
📄 crates/but/src/command/legacy/oplog.rs
📄 crates/but/src/command/legacy/pick.rs
📁 crates/but/src/command/legacy/pull
📄 crates/but/src/command/legacy/pull/json.rs
📄 crates/but/src/command/legacy/pull/mod.rs
📄 crates/but/src/command/legacy/push.rs
📄 crates/but/src/command/legacy/refresh.rs
📄 crates/but/src/command/legacy/resolve.rs
📄 crates/but/src/command/legacy/reword.rs
📁 crates/but/src/command/legacy/rub
📄 crates/but/src/command/legacy/rub/amend.rs
📄 crates/but/src/command/legacy/rub/assign.rs
📄 crates/but/src/command/legacy/rub/commits.rs
📄 crates/but/src/command/legacy/rub/mod.rs
📄 crates/but/src/command/legacy/rub/move.rs
📄 crates/but/src/command/legacy/rub/move_commit.rs
📄 crates/but/src/command/legacy/rub/squash.rs
📄 crates/but/src/command/legacy/rub/undo.rs
📄 crates/but/src/command/legacy/setup.rs
📄 crates/but/src/command/legacy/show.rs
📁 crates/but/src/command/legacy/status
📄 crates/but/src/command/legacy/status/assignment.rs
📄 crates/but/src/command/legacy/status/json.rs
📄 crates/but/src/command/legacy/status/mod.rs
📄 crates/but/src/command/legacy/teardown.rs
📄 crates/but/src/command/legacy/unapply.rs
📄 crates/but/src/command/legacy/worktree.rs
📄 crates/but/src/command/mod.rs
📄 crates/but/src/command/onboarding.rs
📄 crates/but/src/command/push.rs
📄 crates/but/src/command/skill.rs
📄 crates/but/src/command/update.rs
📁 crates/but/src/id
📄 crates/but/src/id/file_info.rs
📄 crates/but/src/id/id_usage.rs
📄 crates/but/src/id/mod.rs
📄 crates/but/src/id/stacks_info.rs
📄 crates/but/src/id/tests.rs
📄 crates/but/src/id/uncommitted_info.rs
📁 crates/but/src/legacy
📄 crates/but/src/legacy/commits.rs
📄 crates/but/src/legacy/mod.rs
📄 crates/but/src/lib.rs
📄 crates/but/src/main.rs
📄 crates/but/src/setup.rs
📄 crates/but/src/trace.rs
📁 crates/but/src/tui
📄 crates/but/src/tui/diff_viewer.rs
📄 crates/but/src/tui/get_text.rs
📄 crates/but/src/tui/mod.rs
📄 crates/but/src/tui/stage_viewer.rs
📄 crates/but/src/tui/table.rs
📁 crates/but/src/utils
📄 crates/but/src/utils/metrics.rs
📄 crates/but/src/utils/mod.rs
📄 crates/but/src/utils/output_channel.rs
📄 crates/but/src/utils/time.rs
📁 crates/but/tests
📁 crates/but/tests/but
📁 crates/but/tests/but/command
📄 crates/but/tests/but/command/absorb.rs
📁 crates/but/tests/but/command/branch
📄 crates/but/tests/but/command/branch/apply.rs
📄 crates/but/tests/but/command/branch/mod.rs
📄 crates/but/tests/but/command/branch/new.rs
📄 crates/but/tests/but/command/branch/unapply.rs
📄 crates/but/tests/but/command/claude.rs
📄 crates/but/tests/but/command/commit.rs
📄 crates/but/tests/but/command/cursor.rs
📄 crates/but/tests/but/command/format.rs
📄 crates/but/tests/but/command/gui.rs
📄 crates/but/tests/but/command/help.rs
📄 crates/but/tests/but/command/merge.rs
📄 crates/but/tests/but/command/mod.rs
📄 crates/but/tests/but/command/move.rs
📄 crates/but/tests/but/command/onboarding.rs
📄 crates/but/tests/but/command/pick.rs
📄 crates/but/tests/but/command/push.rs
📄 crates/but/tests/but/command/reword.rs
📄 crates/but/tests/but/command/rub.rs
📄 crates/but/tests/but/command/setup.rs
📄 crates/but/tests/but/command/skill.rs
📁 crates/but/tests/but/command/snapshots
📁 crates/but/tests/but/command/snapshots/help
📄 crates/but/tests/but/command/snapshots/help/no-arg-no-legacy.stdout.term.svg
📄 crates/but/tests/but/command/snapshots/help/no-arg.stdout.term.svg
📄 crates/but/tests/but/command/snapshots/help/rub-long-help.stdout.term.svg
📄 crates/but/tests/but/command/snapshots/help/rub-short-help.stdout.term.svg
📁 crates/but/tests/but/command/snapshots/status
📄 crates/but/tests/but/command/snapshots/status/long-cli-ids.stdout.term.svg
📄 crates/but/tests/but/command/snapshots/status/remote-and-local-files.stdout.term.svg
📁 crates/but/tests/but/command/snapshots/status/two-worktrees
📄 crates/but/tests/but/command/snapshots/status/two-worktrees/status-with-worktrees-verbose.stdout.term.svg
📄 crates/but/tests/but/command/snapshots/status/two-worktrees/status-with-worktrees.stdout.term.svg
📄 crates/but/tests/but/command/squash.rs
📄 crates/but/tests/but/command/status.rs
📄 crates/but/tests/but/command/teardown.rs
📄 crates/but/tests/but/journey.rs
📄 crates/but/tests/but/main.rs
📁 crates/but/tests/but/snapshots
📁 crates/but/tests/but/snapshots/from-workspace
📄 crates/but/tests/but/snapshots/from-workspace/branch01.stdout.term.svg
📄 crates/but/tests/but/snapshots/from-workspace/status01-verbose.stdout.term.svg
📄 crates/but/tests/but/snapshots/from-workspace/status01.stdout.term.svg
📄 crates/but/tests/but/utils.rs
📁 crates/but/tests/fixtures
📁 crates/but/tests/fixtures/scenario
📄 crates/but/tests/fixtures/scenario/commits-with-same-prefix.sh
📄 crates/but/tests/fixtures/scenario/first-commit.sh
📄 crates/but/tests/fixtures/scenario/merge-gb-local-two-branches.sh
📄 crates/but/tests/fixtures/scenario/not-a-git-repo.sh
📄 crates/but/tests/fixtures/scenario/one-fork.sh
📄 crates/but/tests/fixtures/scenario/one-stack.sh
📄 crates/but/tests/fixtures/scenario/pick-from-unapplied.sh
📄 crates/but/tests/fixtures/scenario/remote-local-divergence.sh
📄 crates/but/tests/fixtures/scenario/repo-already-setup.sh
📄 crates/but/tests/fixtures/scenario/repo-no-remote-no-main-or-master.sh
📄 crates/but/tests/fixtures/scenario/repo-no-remote.sh
📄 crates/but/tests/fixtures/scenario/repo-with-remote-and-head.sh
📄 crates/but/tests/fixtures/scenario/repo-with-remote-no-head.sh
📄 crates/but/tests/fixtures/scenario/shared.sh
📄 crates/but/tests/fixtures/scenario/teardown-dangling-multi-branch.sh
📄 crates/but/tests/fixtures/scenario/teardown-dangling-single-commit.sh
📄 crates/but/tests/fixtures/scenario/teardown-two-dangling-commits.sh
📄 crates/but/tests/fixtures/scenario/two-stacks.sh
📄 crates/but/tests/fixtures/scenario/two-worktrees.sh
📄 crates/but/tests/fixtures/scenario/unborn.sh
📁 crates/gitbutler-branch-actions
📄 crates/gitbutler-branch-actions/Cargo.toml
📁 crates/gitbutler-branch-actions/src
📄 crates/gitbutler-branch-actions/src/actions.rs
📄 crates/gitbutler-branch-actions/src/author.rs
📄 crates/gitbutler-branch-actions/src/base.rs
📄 crates/gitbutler-branch-actions/src/branch.rs
📁 crates/gitbutler-branch-actions/src/branch_manager
📄 crates/gitbutler-branch-actions/src/branch_manager/branch_creation.rs
📄 crates/gitbutler-branch-actions/src/branch_manager/branch_removal.rs
📄 crates/gitbutler-branch-actions/src/branch_manager/mod.rs
📄 crates/gitbutler-branch-actions/src/branch_upstream_integration.rs
📄 crates/gitbutler-branch-actions/src/gravatar.rs
📄 crates/gitbutler-branch-actions/src/hooks.rs
📄 crates/gitbutler-branch-actions/src/integration.rs
📄 crates/gitbutler-branch-actions/src/lib.rs
📄 crates/gitbutler-branch-actions/src/move_branch.rs
📄 crates/gitbutler-branch-actions/src/move_commits.rs
📄 crates/gitbutler-branch-actions/src/remote.rs
📄 crates/gitbutler-branch-actions/src/reorder.rs
📄 crates/gitbutler-branch-actions/src/squash.rs
📄 crates/gitbutler-branch-actions/src/stack.rs
📄 crates/gitbutler-branch-actions/src/undo_commit.rs
📄 crates/gitbutler-branch-actions/src/upstream_integration.rs
📄 crates/gitbutler-branch-actions/src/virtual.rs
📁 crates/gitbutler-branch-actions/tests
📄 crates/gitbutler-branch-actions/tests/branch.rs
📁 crates/gitbutler-branch-actions/tests/fixtures
📄 crates/gitbutler-branch-actions/tests/fixtures/branch-benches.sh
📄 crates/gitbutler-branch-actions/tests/fixtures/branch-details-benches.sh
📄 crates/gitbutler-branch-actions/tests/fixtures/dependencies.sh
📄 crates/gitbutler-branch-actions/tests/fixtures/for-details.sh
📄 crates/gitbutler-branch-actions/tests/fixtures/for-listing.sh
📄 crates/gitbutler-branch-actions/tests/fixtures/for-workspace-migration.sh
📄 crates/gitbutler-branch-actions/tests/fixtures/reorder.sh
📄 crates/gitbutler-branch-actions/tests/fixtures/squash.sh
📄 crates/gitbutler-branch-actions/tests/hooks.rs
📄 crates/gitbutler-branch-actions/tests/reorder.rs
📄 crates/gitbutler-branch-actions/tests/squash.rs
📁 crates/gitbutler-branch-actions/tests/virtual_branches
📄 crates/gitbutler-branch-actions/tests/virtual_branches/amend.rs
📄 crates/gitbutler-branch-actions/tests/virtual_branches/apply_virtual_branch.rs
📄 crates/gitbutler-branch-actions/tests/virtual_branches/create_virtual_branch_from_branch.rs
📄 crates/gitbutler-branch-actions/tests/virtual_branches/init.rs
📄 crates/gitbutler-branch-actions/tests/virtual_branches/list.rs
📄 crates/gitbutler-branch-actions/tests/virtual_branches/list_details.rs
📄 crates/gitbutler-branch-actions/tests/virtual_branches/mod.rs
📄 crates/gitbutler-branch-actions/tests/virtual_branches/move_commit_to_vbranch.rs
📄 crates/gitbutler-branch-actions/tests/virtual_branches/oplog.rs
📄 crates/gitbutler-branch-actions/tests/virtual_branches/save_and_unapply_virtual_branch.rs
📄 crates/gitbutler-branch-actions/tests/virtual_branches/set_base_branch.rs
📄 crates/gitbutler-branch-actions/tests/virtual_branches/unapply_without_saving_virtual_branch.rs
📄 crates/gitbutler-branch-actions/tests/virtual_branches/undo_commit.rs
📄 crates/gitbutler-branch-actions/tests/virtual_branches/update_commit_message.rs
📄 crates/gitbutler-branch-actions/tests/virtual_branches/workspace_migration.rs
📁 crates/gitbutler-branch
📄 crates/gitbutler-branch/Cargo.toml
📁 crates/gitbutler-branch/src
📄 crates/gitbutler-branch/src/branch.rs
📄 crates/gitbutler-branch/src/dedup.rs
📄 crates/gitbutler-branch/src/lib.rs
📄 crates/gitbutler-branch/src/reference_ext.rs
📁 crates/gitbutler-branch/tests
📄 crates/gitbutler-branch/tests/mod.rs
📁 crates/gitbutler-cherry-pick
📄 crates/gitbutler-cherry-pick/Cargo.toml
📁 crates/gitbutler-cherry-pick/src
📄 crates/gitbutler-cherry-pick/src/lib.rs
📄 crates/gitbutler-cherry-pick/src/repository_ext.rs
📁 crates/gitbutler-cli
📄 crates/gitbutler-cli/Cargo.toml
📁 crates/gitbutler-cli/src
📄 crates/gitbutler-cli/src/args.rs
📁 crates/gitbutler-cli/src/command
📄 crates/gitbutler-cli/src/command/mod.rs
📄 crates/gitbutler-cli/src/command/project.rs
📄 crates/gitbutler-cli/src/command/vbranch.rs
📄 crates/gitbutler-cli/src/main.rs
📁 crates/gitbutler-commit
📄 crates/gitbutler-commit/Cargo.toml
📁 crates/gitbutler-commit/src
📄 crates/gitbutler-commit/src/commit_ext.rs
📄 crates/gitbutler-commit/src/lib.rs
📁 crates/gitbutler-edit-mode
📄 crates/gitbutler-edit-mode/Cargo.toml
📁 crates/gitbutler-edit-mode/src
📄 crates/gitbutler-edit-mode/src/commands.rs
📄 crates/gitbutler-edit-mode/src/lib.rs
📁 crates/gitbutler-edit-mode/tests
📄 crates/gitbutler-edit-mode/tests/edit_mode.rs
📁 crates/gitbutler-edit-mode/tests/fixtures
📄 crates/gitbutler-edit-mode/tests/fixtures/edit_mode.sh
📁 crates/gitbutler-filemonitor
📄 crates/gitbutler-filemonitor/Cargo.toml
📁 crates/gitbutler-filemonitor/src
📄 crates/gitbutler-filemonitor/src/events.rs
📄 crates/gitbutler-filemonitor/src/file_monitor.rs
📄 crates/gitbutler-filemonitor/src/lib.rs
📁 crates/gitbutler-filemonitor/src/watch_plan
📄 crates/gitbutler-filemonitor/src/watch_plan/mod.rs
📄 crates/gitbutler-filemonitor/src/watch_plan/tests.rs
📁 crates/gitbutler-filemonitor/tests
📁 crates/gitbutler-filemonitor/tests/filemonitor
📄 crates/gitbutler-filemonitor/tests/filemonitor/main.rs
📁 crates/gitbutler-filemonitor/tests/fixtures
📁 crates/gitbutler-filemonitor/tests/fixtures/scenario
📄 crates/gitbutler-filemonitor/tests/fixtures/scenario/watch-plan-ignored-but-tracked.sh
📄 crates/gitbutler-filemonitor/tests/fixtures/scenario/watch-plan-ignores-node-modules.sh
📄 crates/gitbutler-filemonitor/tests/fixtures/scenario/watch-plan-rename-dir.sh
📁 crates/gitbutler-filemonitor/vendor
📁 crates/gitbutler-filemonitor/vendor/debouncer
📄 crates/gitbutler-filemonitor/vendor/debouncer/Cargo.toml
📁 crates/gitbutler-filemonitor/vendor/debouncer/src
📄 crates/gitbutler-filemonitor/vendor/debouncer/src/cache.rs
📄 crates/gitbutler-filemonitor/vendor/debouncer/src/event.rs
📄 crates/gitbutler-filemonitor/vendor/debouncer/src/lib.rs
📁 crates/gitbutler-filemonitor/vendor/debouncer/src/tests
📄 crates/gitbutler-filemonitor/vendor/debouncer/src/tests/mod.rs
📄 crates/gitbutler-filemonitor/vendor/debouncer/src/tests/schema.rs
📁 crates/gitbutler-filemonitor/vendor/debouncer/tests
📁 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_create_dir_event_twice.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_create_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_create_event_after_remove_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_errors.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_modify_content_event_after_create_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_remove_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_remove_event_after_create_and_modify_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_remove_event_after_create_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_remove_event_after_modify_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_remove_parent_event_after_remove_child_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_both_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_from_and_to_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_from_and_to_event_after_create.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_from_and_to_event_after_modify_content.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_from_and_to_event_after_rename.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_from_and_to_event_override_created.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_from_and_to_event_override_modified.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_from_and_to_event_override_removed.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_from_and_to_event_with_different_file_ids.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_from_and_to_event_with_different_tracker.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_from_and_to_event_with_file_ids.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_from_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_from_event_after_create_and_modify_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_from_event_after_create_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_from_event_after_modify_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_from_event_after_rename_from_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_to_dir_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/add_rename_to_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/emit_close_events_only_once.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/emit_continuous_modify_content_events.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/emit_events_in_chronological_order.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/emit_events_with_a_prepended_rename_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/emit_modify_event_after_close_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/emit_needs_rescan_event.hjson
📄 crates/gitbutler-filemonitor/vendor/debouncer/tests/fixtures/read_file_id_without_create_event.hjson
📁 crates/gitbutler-git
📄 crates/gitbutler-git/Cargo.toml
📁 crates/gitbutler-git/src
📁 crates/gitbutler-git/src/bin
📄 crates/gitbutler-git/src/bin/askpass.rs
📁 crates/gitbutler-git/src/bin/askpass
📄 crates/gitbutler-git/src/bin/askpass/unix.rs
📄 crates/gitbutler-git/src/bin/askpass/windows-pipe.rs
📄 crates/gitbutler-git/src/bin/askpass/windows.rs
📄 crates/gitbutler-git/src/bin/setsid.rs
📁 crates/gitbutler-git/src/bin/setsid
📄 crates/gitbutler-git/src/bin/setsid/unix.rs
📄 crates/gitbutler-git/src/bin/setsid/windows.rs
📄 crates/gitbutler-git/src/error.rs
📁 crates/gitbutler-git/src/executor
📄 crates/gitbutler-git/src/executor/mod.rs
📁 crates/gitbutler-git/src/executor/tokio
📄 crates/gitbutler-git/src/executor/tokio/mod.rs
📄 crates/gitbutler-git/src/executor/tokio/unix.rs
📄 crates/gitbutler-git/src/executor/tokio/windows.rs
📄 crates/gitbutler-git/src/lib.rs
📄 crates/gitbutler-git/src/refspec.rs
📄 crates/gitbutler-git/src/repository.rs
📁 crates/gitbutler-git/tests
📁 crates/gitbutler-git/tests/git
📄 crates/gitbutler-git/tests/git/main.rs
📄 crates/gitbutler-git/tests/git/refspec.rs
📁 crates/gitbutler-operating-modes
📄 crates/gitbutler-operating-modes/Cargo.toml
📁 crates/gitbutler-operating-modes/src
📄 crates/gitbutler-operating-modes/src/lib.rs
📁 crates/gitbutler-operating-modes/tests
📄 crates/gitbutler-operating-modes/tests/operating_modes.rs
📁 crates/gitbutler-oplog
📄 crates/gitbutler-oplog/Cargo.toml
📁 crates/gitbutler-oplog/src
📄 crates/gitbutler-oplog/src/entry.rs
📄 crates/gitbutler-oplog/src/lib.rs
📄 crates/gitbutler-oplog/src/oplog.rs
📄 crates/gitbutler-oplog/src/reflog.rs
📄 crates/gitbutler-oplog/src/snapshot.rs
📄 crates/gitbutler-oplog/src/state.rs
📁 crates/gitbutler-oplog/tests
📁 crates/gitbutler-oplog/tests/oplog
📄 crates/gitbutler-oplog/tests/oplog/main.rs
📁 crates/gitbutler-project
📄 crates/gitbutler-project/Cargo.toml
📁 crates/gitbutler-project/src
📄 crates/gitbutler-project/src/api.rs
📄 crates/gitbutler-project/src/controller.rs
📄 crates/gitbutler-project/src/default_true.rs
📄 crates/gitbutler-project/src/gerrit.rs
📄 crates/gitbutler-project/src/lib.rs
📄 crates/gitbutler-project/src/project.rs
📄 crates/gitbutler-project/src/storage.rs
📁 crates/gitbutler-project/tests
📄 crates/gitbutler-project/tests/add_cwd_as_project.rs
📁 crates/gitbutler-project/tests/fixtures
📄 crates/gitbutler-project/tests/fixtures/various-repositories.sh
📁 crates/gitbutler-project/tests/project
📄 crates/gitbutler-project/tests/project/main.rs
📁 crates/gitbutler-reference
📄 crates/gitbutler-reference/Cargo.toml
📁 crates/gitbutler-reference/src
📄 crates/gitbutler-reference/src/lib.rs
📁 crates/gitbutler-reference/src/refname
📄 crates/gitbutler-reference/src/refname/error.rs
📄 crates/gitbutler-reference/src/refname/local.rs
📄 crates/gitbutler-reference/src/refname/mod.rs
📄 crates/gitbutler-reference/src/refname/remote.rs
📄 crates/gitbutler-reference/src/refname/virtual.rs
📁 crates/gitbutler-reference/tests
📄 crates/gitbutler-reference/tests/reference.rs
📁 crates/gitbutler-repo-actions
📄 crates/gitbutler-repo-actions/Cargo.toml
📁 crates/gitbutler-repo-actions/src
📄 crates/gitbutler-repo-actions/src/askpass.rs
📄 crates/gitbutler-repo-actions/src/lib.rs
📄 crates/gitbutler-repo-actions/src/repository.rs
📁 crates/gitbutler-repo
📄 crates/gitbutler-repo/Cargo.toml
📁 crates/gitbutler-repo/src
📄 crates/gitbutler-repo/src/commands.rs
📄 crates/gitbutler-repo/src/commit_message.rs
📄 crates/gitbutler-repo/src/config.rs
📄 crates/gitbutler-repo/src/credentials.rs
📄 crates/gitbutler-repo/src/hooks.rs
📄 crates/gitbutler-repo/src/lib.rs
📄 crates/gitbutler-repo/src/logging.rs
📄 crates/gitbutler-repo/src/managed_hooks.rs
📄 crates/gitbutler-repo/src/rebase.rs
📄 crates/gitbutler-repo/src/remote.rs
📄 crates/gitbutler-repo/src/repository_ext.rs
📄 crates/gitbutler-repo/src/staging.rs
📁 crates/gitbutler-repo/tests
📄 crates/gitbutler-repo/tests/create_wd_tree.rs
📄 crates/gitbutler-repo/tests/credentials.rs
📁 crates/gitbutler-repo/tests/fixtures
📄 crates/gitbutler-repo/tests/fixtures/make_create_wd_tree_repos.sh
📁 crates/gitbutler-repo/tests/fixtures/users
📄 crates/gitbutler-repo/tests/fixtures/users/login-only.v1
📄 crates/gitbutler-repo/tests/fixtures/users/with-github.v1
📄 crates/gitbutler-repo/tests/hooks.rs
📄 crates/gitbutler-repo/tests/managed_hooks_tests.rs
📄 crates/gitbutler-repo/tests/merge_base_octopussy.rs
📄 crates/gitbutler-repo/tests/mod.rs
📄 crates/gitbutler-repo/tests/rebase.rs
📁 crates/gitbutler-stack
📄 crates/gitbutler-stack/Cargo.toml
📁 crates/gitbutler-stack/src
📄 crates/gitbutler-stack/src/heads.rs
📄 crates/gitbutler-stack/src/lib.rs
📄 crates/gitbutler-stack/src/stack.rs
📄 crates/gitbutler-stack/src/stack_branch.rs
📄 crates/gitbutler-stack/src/state.rs
📄 crates/gitbutler-stack/src/target.rs
📁 crates/gitbutler-stack/tests
📁 crates/gitbutler-stack/tests/fixtures
📄 crates/gitbutler-stack/tests/fixtures/stacking.sh
📄 crates/gitbutler-stack/tests/mod.rs
📁 crates/gitbutler-tauri
📄 crates/gitbutler-tauri/.gitignore
📄 crates/gitbutler-tauri/Cargo.toml
📄 crates/gitbutler-tauri/build.rs
📁 crates/gitbutler-tauri/capabilities
📄 crates/gitbutler-tauri/capabilities/main.json
📄 crates/gitbutler-tauri/com.gitbutler.gitbutler.metainfo.xml
📁 crates/gitbutler-tauri/icons
📁 crates/gitbutler-tauri/icons/dev
📄 crates/gitbutler-tauri/icons/dev/128x128.png
📄 crates/gitbutler-tauri/icons/dev/128x128@2x.png
📄 crates/gitbutler-tauri/icons/dev/32x32.png
📄 crates/gitbutler-tauri/icons/dev/icon.icns
📄 crates/gitbutler-tauri/icons/dev/icon.ico
📁 crates/gitbutler-tauri/icons/nightly
📄 crates/gitbutler-tauri/icons/nightly/128x128.png
📄 crates/gitbutler-tauri/icons/nightly/128x128@2x.png
📄 crates/gitbutler-tauri/icons/nightly/32x32.png
📄 crates/gitbutler-tauri/icons/nightly/icon.icns
📄 crates/gitbutler-tauri/icons/nightly/icon.ico
📁 crates/gitbutler-tauri/icons/release
📄 crates/gitbutler-tauri/icons/release/128x128.png
📄 crates/gitbutler-tauri/icons/release/128x128@2x.png
📄 crates/gitbutler-tauri/icons/release/32x32.png
📄 crates/gitbutler-tauri/icons/release/icon.icns
📄 crates/gitbutler-tauri/icons/release/icon.ico
📄 crates/gitbutler-tauri/inject-git-binaries.sh
📁 crates/gitbutler-tauri/src
📄 crates/gitbutler-tauri/src/action.rs
📄 crates/gitbutler-tauri/src/app.rs
📄 crates/gitbutler-tauri/src/askpass.rs
📄 crates/gitbutler-tauri/src/bot.rs
📄 crates/gitbutler-tauri/src/claude.rs
📄 crates/gitbutler-tauri/src/csp.rs
📄 crates/gitbutler-tauri/src/debug.rs
📄 crates/gitbutler-tauri/src/env.rs
📄 crates/gitbutler-tauri/src/lib.rs
📄 crates/gitbutler-tauri/src/logs.rs
📄 crates/gitbutler-tauri/src/main.rs
📄 crates/gitbutler-tauri/src/menu.rs
📄 crates/gitbutler-tauri/src/projects.rs
📄 crates/gitbutler-tauri/src/settings.rs
📄 crates/gitbutler-tauri/src/window.rs
📄 crates/gitbutler-tauri/src/zip.rs
📄 crates/gitbutler-tauri/tauri-before-build-command.sh
📄 crates/gitbutler-tauri/tauri.conf.json
📄 crates/gitbutler-tauri/tauri.conf.nightly-local.json
📄 crates/gitbutler-tauri/tauri.conf.nightly.json
📄 crates/gitbutler-tauri/tauri.conf.release.json
📄 crates/gitbutler-tauri/tauri.conf.test.json
📁 crates/gitbutler-testsupport
📄 crates/gitbutler-testsupport/Cargo.toml
📁 crates/gitbutler-testsupport/src
📁 crates/gitbutler-testsupport/src/fixtures
📁 crates/gitbutler-testsupport/src/fixtures/user
📄 crates/gitbutler-testsupport/src/fixtures/user/minimal.v1
📄 crates/gitbutler-testsupport/src/lib.rs
📄 crates/gitbutler-testsupport/src/secrets.rs
📄 crates/gitbutler-testsupport/src/suite.rs
📄 crates/gitbutler-testsupport/src/test_project.rs
📄 crates/gitbutler-testsupport/src/testing_repository.rs
📁 crates/gitbutler-url
📄 crates/gitbutler-url/Cargo.toml
📁 crates/gitbutler-url/src
📄 crates/gitbutler-url/src/convert.rs
📄 crates/gitbutler-url/src/lib.rs
📄 crates/gitbutler-url/src/parse.rs
📄 crates/gitbutler-url/src/scheme.rs
📁 crates/gitbutler-user
📄 crates/gitbutler-user/Cargo.toml
📁 crates/gitbutler-user/src
📄 crates/gitbutler-user/src/controller.rs
📄 crates/gitbutler-user/src/lib.rs
📄 crates/gitbutler-user/src/storage.rs
📄 crates/gitbutler-user/src/user.rs
📁 crates/gitbutler-user/tests
📁 crates/gitbutler-user/tests/fixtures
📁 crates/gitbutler-user/tests/fixtures/users
📄 crates/gitbutler-user/tests/fixtures/users/login-only.v1
📄 crates/gitbutler-user/tests/fixtures/users/with-github.v1
📄 crates/gitbutler-user/tests/mod.rs
📁 crates/gitbutler-user/tests/secret
📄 crates/gitbutler-user/tests/secret/credentials.rs
📄 crates/gitbutler-user/tests/secret/mod.rs
📄 crates/gitbutler-user/tests/secret/users.rs
📁 crates/gitbutler-watcher
📄 crates/gitbutler-watcher/Cargo.toml
📁 crates/gitbutler-watcher/src
📄 crates/gitbutler-watcher/src/events.rs
📄 crates/gitbutler-watcher/src/handler.rs
📄 crates/gitbutler-watcher/src/lib.rs
📁 crates/gitbutler-workspace
📄 crates/gitbutler-workspace/Cargo.toml
📁 crates/gitbutler-workspace/src
📄 crates/gitbutler-workspace/src/branch_trees.rs
📄 crates/gitbutler-workspace/src/lib.rs
📄 crates/package.json
📄 dad-jokes.md
📄 deny.toml
📁 e2e
📄 e2e/README.md
📁 e2e/blackbox
📄 e2e/blackbox/Dockerfile
📄 e2e/blackbox/record.ts
📁 e2e/blackbox/scripts
📄 e2e/blackbox/scripts/init-repositories.sh
📁 e2e/blackbox/tests
📄 e2e/blackbox/tests/add-project.spec.ts
📄 e2e/blackbox/tsconfig.json
📄 e2e/blackbox/utils.ts
📁 e2e/blackbox/videos
📄 e2e/blackbox/videos/.keep
📄 e2e/blackbox/wdio.blackbox.conf.ts
📄 e2e/package.json
📁 e2e/playwright
📄 e2e/playwright/.gitignore
📁 e2e/playwright/fixtures
📄 e2e/playwright/fixtures/.gitconfig
📄 e2e/playwright/fixtures/big-file_after-small-changes.md
📄 e2e/playwright/fixtures/big-file_after.md
📄 e2e/playwright/fixtures/big-file_before.md
📄 e2e/playwright/fixtures/lesh0.jpg
📄 e2e/playwright/playwright.config.ts
📁 e2e/playwright/scripts
📄 e2e/playwright/scripts/apply-upstream-branch.sh
📄 e2e/playwright/scripts/create-allowed-file.sh
📄 e2e/playwright/scripts/create-forbidden-file.sh
📄 e2e/playwright/scripts/create-postcommit-fail-marker.sh
📄 e2e/playwright/scripts/merge-upstream-branch-to-base.sh
📄 e2e/playwright/scripts/move-branch.sh
📄 e2e/playwright/scripts/project-with-commit-and-uncommitted-changes.sh
📄 e2e/playwright/scripts/project-with-commit-hooks.sh
📄 e2e/playwright/scripts/project-with-remote-branches.sh
📄 e2e/playwright/scripts/project-with-remote-branches__add-commit-to-base-and-branch.sh
📄 e2e/playwright/scripts/project-with-remote-branches__add-commit-to-base.sh
📄 e2e/playwright/scripts/project-with-remote-branches__add-commit-to-remote-branch.sh
📄 e2e/playwright/scripts/project-with-remote-branches__add-submodule.sh
📄 e2e/playwright/scripts/project-with-remote-branches__checkout-master.sh
📄 e2e/playwright/scripts/project-with-remote-branches__clone-into-new-project.sh
📄 e2e/playwright/scripts/project-with-remote-branches__commit-file-into-remote-base.sh
📄 e2e/playwright/scripts/project-with-remote-branches__delete-project.sh
📄 e2e/playwright/scripts/project-with-stacks.sh
📄 e2e/playwright/scripts/setup-empty-project-bare.sh
📄 e2e/playwright/scripts/setup-empty-project.sh
📄 e2e/playwright/scripts/two-projects-with-remote-branches.sh
📁 e2e/playwright/src
📄 e2e/playwright/src/branch.ts
📄 e2e/playwright/src/commit.ts
📄 e2e/playwright/src/config.ts
📄 e2e/playwright/src/env.ts
📄 e2e/playwright/src/file.ts
📄 e2e/playwright/src/hunk.ts
📄 e2e/playwright/src/setup.ts
📄 e2e/playwright/src/util.ts
📁 e2e/playwright/tests
📁 e2e/playwright/tests/__snapshots__
📁 e2e/playwright/tests/__snapshots__/unifiedDiffView.spec.ts
📄 e2e/playwright/tests/__snapshots__/unifiedDiffView.spec.ts/should-unselect-a-complete-hunk-1.txt
📄 e2e/playwright/tests/absorb.spec.ts
📄 e2e/playwright/tests/addingAProject.spec.ts
📄 e2e/playwright/tests/branches.spec.ts
📄 e2e/playwright/tests/commitActions.spec.ts
📄 e2e/playwright/tests/commitHooks.spec.ts
📄 e2e/playwright/tests/dragToCommit.spec.ts
📄 e2e/playwright/tests/editMode.spec.ts
📄 e2e/playwright/tests/moveBranch.spec.ts
📄 e2e/playwright/tests/projectOffboarding.spec.ts
📄 e2e/playwright/tests/startTheApp.spec.ts
📄 e2e/playwright/tests/unifiedDiffView.spec.ts
📄 e2e/playwright/tests/upstreamIntegration.spec.ts
📄 e2e/playwright/tests/workspace.spec.ts
📄 e2e/playwright/tsconfig.json
📄 eslint.config.js
📄 frontend.md
📄 ignore-vercel.sh
📄 package.json
📁 packages
📁 packages/core
📄 packages/core/README.md
📄 packages/core/package.json
📁 packages/core/src
📄 packages/core/src/context.ts
📁 packages/core/src/generated
📁 packages/core/src/generated/action
📄 packages/core/src/generated/action/autoCommit.ts
📁 packages/core/src/generated/core
📄 packages/core/src/generated/core/diffTypes.ts
📁 packages/core/src/generated/core/refMetadata
📄 packages/core/src/generated/core/refMetadata/index.ts
📄 packages/core/src/generated/core/ui.ts
📁 packages/core/src/generated/forge
📄 packages/core/src/generated/forge/user.ts
📁 packages/core/src/generated/github
📄 packages/core/src/generated/github/index.ts
📄 packages/core/src/generated/github/token.ts
📁 packages/core/src/generated/gitlab
📄 packages/core/src/generated/gitlab/index.ts
📄 packages/core/src/generated/gitlab/token.ts
📁 packages/core/src/generated/hunkAssignment
📄 packages/core/src/generated/hunkAssignment/index.ts
📄 packages/core/src/generated/index.ts
📁 packages/core/src/generated/settings
📄 packages/core/src/generated/settings/appSettings.ts
📄 packages/core/src/generated/settings/gitConfigSettings.ts
📄 packages/core/src/generated/settings/index.ts
📁 packages/core/src/generated/workspace
📄 packages/core/src/generated/workspace/index.ts
📁 packages/core/src/generated/workspace/legacy
📄 packages/core/src/generated/workspace/legacy/index.ts
📁 packages/core/src/generated/workspace/refInfo
📄 packages/core/src/generated/workspace/refInfo/index.ts
📄 packages/core/tsconfig.json
📁 packages/no-relative-imports
📄 packages/no-relative-imports/.npmignore
📄 packages/no-relative-imports/README.md
📄 packages/no-relative-imports/package.json
📁 packages/no-relative-imports/src
📄 packages/no-relative-imports/src/index.ts
📄 packages/no-relative-imports/src/noRelativeImportPaths.test.ts
📄 packages/no-relative-imports/src/noRelativeImportPaths.ts
📄 packages/no-relative-imports/src/paths.test.ts
📄 packages/no-relative-imports/src/paths.ts
📁 packages/no-relative-imports/src/testFixture
📄 packages/no-relative-imports/src/testFixture/main.ts
📁 packages/no-relative-imports/src/testFixture/other
📄 packages/no-relative-imports/src/testFixture/other/tsconfig.json
📄 packages/no-relative-imports/src/testFixture/tsconfig.json
📄 packages/no-relative-imports/tsconfig.json
📁 packages/shared
📄 packages/shared/README.md
📄 packages/shared/package.json
📄 packages/shared/postcss.config.js
📁 packages/shared/src
📄 packages/shared/src/app.d.ts
📄 packages/shared/src/app.html
📄 packages/shared/src/index.test.ts
📁 packages/shared/src/lib
📁 packages/shared/src/lib/branches
📄 packages/shared/src/lib/branches/BranchStatusBadge.svelte
📄 packages/shared/src/lib/branches/Minimap.svelte
📄 packages/shared/src/lib/branches/branchReviewListingsSlice.ts
📄 packages/shared/src/lib/branches/branchService.ts
📄 packages/shared/src/lib/branches/branchesPreview.svelte.ts
📄 packages/shared/src/lib/branches/branchesSlice.ts
📄 packages/shared/src/lib/branches/latestBranchLookup.svelte.ts
📄 packages/shared/src/lib/branches/latestBranchLookupService.ts
📄 packages/shared/src/lib/branches/latestBranchLookupSlice.ts
📄 packages/shared/src/lib/branches/types.ts
📄 packages/shared/src/lib/branches/utils.ts
📁 packages/shared/src/lib/chat
📄 packages/shared/src/lib/chat/chatChannelsPreview.svelte.ts
📄 packages/shared/src/lib/chat/chatChannelsService.ts
📄 packages/shared/src/lib/chat/chatChannelsSlice.ts
📄 packages/shared/src/lib/chat/types.ts
📄 packages/shared/src/lib/compare.ts
📄 packages/shared/src/lib/contributors.ts
📄 packages/shared/src/lib/dom.ts
📁 packages/shared/src/lib/feeds
📄 packages/shared/src/lib/feeds/feedsPreview.svelte.ts
📄 packages/shared/src/lib/feeds/feedsSlice.ts
📄 packages/shared/src/lib/feeds/postsSlice.ts
📄 packages/shared/src/lib/feeds/service.ts
📄 packages/shared/src/lib/feeds/types.ts
📁 packages/shared/src/lib/interest
📄 packages/shared/src/lib/interest/RegisterInterest.svelte
📄 packages/shared/src/lib/interest/interestStore.ts
📄 packages/shared/src/lib/interest/registerInterestFunction.svelte.ts
📄 packages/shared/src/lib/lockfiles.ts
📄 packages/shared/src/lib/logging.ts
📁 packages/shared/src/lib/login
📄 packages/shared/src/lib/login/loginService.ts
📄 packages/shared/src/lib/memoization.test.ts
📄 packages/shared/src/lib/memoization.ts
📁 packages/shared/src/lib/network
📄 packages/shared/src/lib/network/Loading.svelte
📄 packages/shared/src/lib/network/LoadingState.svelte
📄 packages/shared/src/lib/network/httpClient.ts
📄 packages/shared/src/lib/network/loadable.ts
📄 packages/shared/src/lib/network/types.ts
📁 packages/shared/src/lib/organizations
📄 packages/shared/src/lib/organizations/CreateOrganizationModal.svelte
📄 packages/shared/src/lib/organizations/JoinOrganizationModal.svelte
📄 packages/shared/src/lib/organizations/OrganizationModal.svelte
📄 packages/shared/src/lib/organizations/PermissionsSelector.svelte
📄 packages/shared/src/lib/organizations/organizationService.ts
📄 packages/shared/src/lib/organizations/organizationsPreview.svelte.ts
📄 packages/shared/src/lib/organizations/organizationsSlice.ts
📄 packages/shared/src/lib/organizations/projectService.ts
📄 packages/shared/src/lib/organizations/projectsPreview.svelte.ts
📄 packages/shared/src/lib/organizations/projectsSlice.ts
📄 packages/shared/src/lib/organizations/recentlyInteractedProjectIds.ts
📄 packages/shared/src/lib/organizations/recentlyPushedProjectIds.ts
📄 packages/shared/src/lib/organizations/repositoryIdLookupPreview.svelte.ts
📄 packages/shared/src/lib/organizations/repositoryIdLookupService.ts
📄 packages/shared/src/lib/organizations/repositoryIdLookupsSlice.ts
📄 packages/shared/src/lib/organizations/types.ts
📁 packages/shared/src/lib/patchEvents
📄 packages/shared/src/lib/patchEvents/patchEventsService.ts
📄 packages/shared/src/lib/patchEvents/patchEventsSlice.ts
📄 packages/shared/src/lib/patchEvents/types.ts
📁 packages/shared/src/lib/patches
📄 packages/shared/src/lib/patches/ChangeStatus.svelte
📄 packages/shared/src/lib/patches/patchCommitService.ts
📄 packages/shared/src/lib/patches/patchCommitsPreview.svelte.ts
📄 packages/shared/src/lib/patches/patchCommitsSlice copy.ts
📄 packages/shared/src/lib/patches/patchCommitsSlice.ts
📄 packages/shared/src/lib/patches/patchIdableService.ts
📄 packages/shared/src/lib/patches/patchIdablesPreview.svelte.ts
📄 packages/shared/src/lib/patches/patchIdablesSlice.ts
📄 packages/shared/src/lib/patches/patchSectionsSlice.ts
📄 packages/shared/src/lib/patches/types.ts
📄 packages/shared/src/lib/permissions.ts
📄 packages/shared/src/lib/persisted.test.ts
📄 packages/shared/src/lib/persisted.ts
📄 packages/shared/src/lib/polling.ts
📄 packages/shared/src/lib/reactiveUtils.svelte.ts
📁 packages/shared/src/lib/redux
📄 packages/shared/src/lib/redux/defaultSlices.ts
📄 packages/shared/src/lib/redux/example.ts
📄 packages/shared/src/lib/redux/store.svelte.ts
📁 packages/shared/src/lib/routing
📄 packages/shared/src/lib/routing/webRoutes.svelte.ts
📁 packages/shared/src/lib/rules
📄 packages/shared/src/lib/rules/rulesPreview.svelte.ts
📄 packages/shared/src/lib/rules/rulesService.ts
📄 packages/shared/src/lib/rules/rulesSlice.ts
📄 packages/shared/src/lib/rules/types.ts
📁 packages/shared/src/lib/settings
📄 packages/shared/src/lib/settings/notificationSettingsService.ts
📄 packages/shared/src/lib/settings/notificationSetttingsPreview.svelte.ts
📄 packages/shared/src/lib/settings/notificationSetttingsSlice.ts
📄 packages/shared/src/lib/settings/types.ts
📄 packages/shared/src/lib/sounds.ts
📄 packages/shared/src/lib/storeUtils.ts
📁 packages/shared/src/lib/uploads
📄 packages/shared/src/lib/uploads/types.ts
📄 packages/shared/src/lib/uploads/uploadsService.ts
📁 packages/shared/src/lib/users
📄 packages/shared/src/lib/users/types.ts
📄 packages/shared/src/lib/users/userService.ts
📄 packages/shared/src/lib/users/usersPreview.svelte.ts
📄 packages/shared/src/lib/users/usersSlice.ts
📁 packages/shared/src/lib/utils
📄 packages/shared/src/lib/utils/array.ts
📄 packages/shared/src/lib/utils/branding.ts
📄 packages/shared/src/lib/utils/file.test.ts
📄 packages/shared/src/lib/utils/file.ts
📄 packages/shared/src/lib/utils/misc.ts
📄 packages/shared/src/lib/utils/promise.ts
📄 packages/shared/src/lib/utils/typeUtils.ts
📁 packages/shared/src/routes
📄 packages/shared/src/routes/+page.svelte
📁 packages/shared/static
📄 packages/shared/static/favicon.png
📄 packages/shared/svelte.config.js
📄 packages/shared/tsconfig.json
📄 packages/shared/vite.config.ts
📁 packages/svelte-comment-injector
📄 packages/svelte-comment-injector/.npmignore
📄 packages/svelte-comment-injector/README.md
📄 packages/svelte-comment-injector/package.json
📁 packages/svelte-comment-injector/src
📄 packages/svelte-comment-injector/src/index.ts
📄 packages/svelte-comment-injector/tsconfig.json
📁 packages/ui
📁 packages/ui/.storybook
📄 packages/ui/.storybook/main.ts
📄 packages/ui/.storybook/preview.ts
📄 packages/ui/.storybook/stories-styles.css
📄 packages/ui/.storybook/vitest.setup.ts
📄 packages/ui/package.json
📄 packages/ui/playwright-ct.config.ts
📄 packages/ui/postcss.config.js
📁 packages/ui/src
📄 packages/ui/src/app.d.ts
📄 packages/ui/src/app.html
📁 packages/ui/src/lib
📁 packages/ui/src/lib/assets
📄 packages/ui/src/lib/assets/claude.svg
📄 packages/ui/src/lib/assets/cursor.svg
📄 packages/ui/src/lib/assets/profile-icon.svg
📁 packages/ui/src/lib/assets/review-badge
📄 packages/ui/src/lib/assets/review-badge/gh-logo.svg
📄 packages/ui/src/lib/assets/review-badge/gl-logo.svg
📄 packages/ui/src/lib/assets/vscode-insiders.svg
📄 packages/ui/src/lib/assets/vscode.svg
📁 packages/ui/src/lib/components
📄 packages/ui/src/lib/components/AddForgeAccountButton.svelte
📄 packages/ui/src/lib/components/AsyncButton.svelte
📄 packages/ui/src/lib/components/Badge.svelte
📄 packages/ui/src/lib/components/ButPcAvatar.svelte
📄 packages/ui/src/lib/components/Button.svelte
📄 packages/ui/src/lib/components/Checkbox.svelte
📄 packages/ui/src/lib/components/Codeblock.svelte
📄 packages/ui/src/lib/components/CommitStatusBadge.svelte
📄 packages/ui/src/lib/components/ContextMenu.svelte
📄 packages/ui/src/lib/components/ContextMenuItem.svelte
📄 packages/ui/src/lib/components/ContextMenuItemSubmenu.svelte
📄 packages/ui/src/lib/components/ContextMenuSection.svelte
📄 packages/ui/src/lib/components/CopyButton.svelte
📄 packages/ui/src/lib/components/DropdownButton.svelte
📄 packages/ui/src/lib/components/EditorLogo.svelte
📄 packages/ui/src/lib/components/EmailTextbox.svelte
📄 packages/ui/src/lib/components/EmptyStatePlaceholder.svelte
📄 packages/ui/src/lib/components/ForgeUserCard.svelte
📄 packages/ui/src/lib/components/Icon.svelte
📄 packages/ui/src/lib/components/ImageDiff.svelte
📄 packages/ui/src/lib/components/InfoButton.svelte
📄 packages/ui/src/lib/components/InfoMessage.svelte
📄 packages/ui/src/lib/components/IntegrationSeriesRow.svelte
📄 packages/ui/src/lib/components/KebabButton.svelte
📄 packages/ui/src/lib/components/LineStats.svelte
📄 packages/ui/src/lib/components/Link.svelte
📄 packages/ui/src/lib/components/LinkButton.svelte
📄 packages/ui/src/lib/components/Modal.svelte
📄 packages/ui/src/lib/components/ModalFooter.svelte
📄 packages/ui/src/lib/components/ModalHeader.svelte
📄 packages/ui/src/lib/components/NotificationButton.svelte
📄 packages/ui/src/lib/components/PrStatusBadge.svelte
📄 packages/ui/src/lib/components/ProfilePictureUpload.svelte
📄 packages/ui/src/lib/components/RadioButton.svelte
📄 packages/ui/src/lib/components/RangeInput.svelte
📄 packages/ui/src/lib/components/ReviewBadge.svelte
📄 packages/ui/src/lib/components/SeriesIcon.svelte
📄 packages/ui/src/lib/components/SeriesLabelsRow.svelte
📄 packages/ui/src/lib/components/SimpleCommitRow.svelte
📄 packages/ui/src/lib/components/SimpleCommitRowSkeleton.svelte
📄 packages/ui/src/lib/components/SkeletonBone.svelte
📄 packages/ui/src/lib/components/Spacer.svelte
📄 packages/ui/src/lib/components/TagInput.svelte
📄 packages/ui/src/lib/components/Textarea.svelte
📄 packages/ui/src/lib/components/Textbox.svelte
📄 packages/ui/src/lib/components/TimeAgo.svelte
📄 packages/ui/src/lib/components/Timestamp.svelte
📄 packages/ui/src/lib/components/Toggle.svelte
📄 packages/ui/src/lib/components/Tooltip.svelte
📄 packages/ui/src/lib/components/VirtualList.svelte
📁 packages/ui/src/lib/components/avatar
📄 packages/ui/src/lib/components/avatar/Avatar.svelte
📄 packages/ui/src/lib/components/avatar/AvatarGroup.svelte
📄 packages/ui/src/lib/components/avatar/ProfileButton.svelte
📄 packages/ui/src/lib/components/avatar/gravatar.ts
📁 packages/ui/src/lib/components/cardGroup
📄 packages/ui/src/lib/components/cardGroup/CardGroupItem.svelte
📄 packages/ui/src/lib/components/cardGroup/CardGroupRoot.svelte
📄 packages/ui/src/lib/components/cardGroup/index.ts
📁 packages/ui/src/lib/components/chipToast
📄 packages/ui/src/lib/components/chipToast/ChipToast.svelte
📄 packages/ui/src/lib/components/chipToast/ChipToastContainer.svelte
📄 packages/ui/src/lib/components/chipToast/README.md
📄 packages/ui/src/lib/components/chipToast/chipToastStore.ts
📄 packages/ui/src/lib/components/chipToast/chipToastTypes.ts
📁 packages/ui/src/lib/components/commitLines
📄 packages/ui/src/lib/components/commitLines/Cell.svelte
📄 packages/ui/src/lib/components/commitLines/CommitNode.svelte
📄 packages/ui/src/lib/components/commitLines/Line.svelte
📄 packages/ui/src/lib/components/commitLines/lineManager.ts
📄 packages/ui/src/lib/components/commitLines/types.ts
📁 packages/ui/src/lib/components/emoji
📄 packages/ui/src/lib/components/emoji/EmojiButton.svelte
📄 packages/ui/src/lib/components/emoji/EmojiGroup.svelte
📄 packages/ui/src/lib/components/emoji/EmojiPicker.svelte
📄 packages/ui/src/lib/components/emoji/EmojiPickerButton.svelte
📄 packages/ui/src/lib/components/emoji/utils.ts
📁 packages/ui/src/lib/components/file
📄 packages/ui/src/lib/components/file/ExecutableLabel.svelte
📄 packages/ui/src/lib/components/file/FileIcon.svelte
📄 packages/ui/src/lib/components/file/FileIndent.svelte
📄 packages/ui/src/lib/components/file/FileListItem.svelte
📄 packages/ui/src/lib/components/file/FileName.svelte
📄 packages/ui/src/lib/components/file/FileStatusBadge.svelte
📄 packages/ui/src/lib/components/file/FileViewHeader.svelte
📄 packages/ui/src/lib/components/file/FolderListItem.svelte
📄 packages/ui/src/lib/components/file/fileIcons.ts
📄 packages/ui/src/lib/components/file/getFileIcon.ts
📄 packages/ui/src/lib/components/file/typeMap.ts
📄 packages/ui/src/lib/components/file/types.ts
📁 packages/ui/src/lib/components/hunkDiff
📄 packages/ui/src/lib/components/hunkDiff/HunkDiff.svelte
📄 packages/ui/src/lib/components/hunkDiff/HunkDiffBody.svelte
📄 packages/ui/src/lib/components/hunkDiff/HunkDiffRow.svelte
📄 packages/ui/src/lib/components/hunkDiff/HunkDiffSkeleton.svelte
📄 packages/ui/src/lib/components/hunkDiff/lineSelection.svelte.ts
📄 packages/ui/src/lib/components/inputTypes.ts
📁 packages/ui/src/lib/components/markdown
📄 packages/ui/src/lib/components/markdown/Markdown.svelte
📄 packages/ui/src/lib/components/markdown/MarkdownContent.svelte
📁 packages/ui/src/lib/components/markdown/markdownRenderers
📄 packages/ui/src/lib/components/markdown/markdownRenderers/Blockquote.svelte
📄 packages/ui/src/lib/components/markdown/markdownRenderers/Br.svelte
📄 packages/ui/src/lib/components/markdown/markdownRenderers/Code.svelte
📄 packages/ui/src/lib/components/markdown/markdownRenderers/Codespan.svelte
📄 packages/ui/src/lib/components/markdown/markdownRenderers/Em.svelte
📄 packages/ui/src/lib/components/markdown/markdownRenderers/Heading.svelte
📄 packages/ui/src/lib/components/markdown/markdownRenderers/Html.svelte
📄 packages/ui/src/lib/components/markdown/markdownRenderers/Image.svelte
📄 packages/ui/src/lib/components/markdown/markdownRenderers/Link.svelte
📄 packages/ui/src/lib/components/markdown/markdownRenderers/List.svelte
📄 packages/ui/src/lib/components/markdown/markdownRenderers/ListItem.svelte
📄 packages/ui/src/lib/components/markdown/markdownRenderers/Paragraph.svelte
📄 packages/ui/src/lib/components/markdown/markdownRenderers/Separator.svelte
📄 packages/ui/src/lib/components/markdown/markdownRenderers/Strong.svelte
📄 packages/ui/src/lib/components/markdown/markdownRenderers/Table.svelte
📄 packages/ui/src/lib/components/markdown/markdownRenderers/Text.svelte
📁 packages/ui/src/lib/components/popoverActions
📄 packages/ui/src/lib/components/popoverActions/PopoverActionsContainer.svelte
📄 packages/ui/src/lib/components/popoverActions/PopoverActionsItem.svelte
📁 packages/ui/src/lib/components/scroll
📄 packages/ui/src/lib/components/scroll/ScrollableContainer.svelte
📄 packages/ui/src/lib/components/scroll/Scrollbar.svelte
📁 packages/ui/src/lib/components/segmentControl
📄 packages/ui/src/lib/components/segmentControl/Segment.svelte
📄 packages/ui/src/lib/components/segmentControl/SegmentControl.svelte
📄 packages/ui/src/lib/components/segmentControl/index.ts
📄 packages/ui/src/lib/components/segmentControl/segmentTypes.ts
📁 packages/ui/src/lib/components/select
📄 packages/ui/src/lib/components/select/OptionsGroup.svelte
📄 packages/ui/src/lib/components/select/SearchItem.svelte
📄 packages/ui/src/lib/components/select/Select.svelte
📄 packages/ui/src/lib/components/select/SelectItem.svelte
📁 packages/ui/src/lib/data
📄 packages/ui/src/lib/data/icons.json
📁 packages/ui/src/lib/drag
📄 packages/ui/src/lib/drag/dragStateService.svelte.ts
📄 packages/ui/src/lib/drag/dragStateService.test.ts
📁 packages/ui/src/lib/focus
📄 packages/ui/src/lib/focus/domUtils.ts
📄 packages/ui/src/lib/focus/fModeManager.ts
📄 packages/ui/src/lib/focus/focusManager.ts
📄 packages/ui/src/lib/focus/focusTypes.ts
📄 packages/ui/src/lib/focus/focusUtils.ts
📄 packages/ui/src/lib/focus/focusable.ts
📄 packages/ui/src/lib/focus/shortcutUtils.ts
📄 packages/ui/src/lib/focus/tabbable.ts
📄 packages/ui/src/lib/focus/utils.ts
📁 packages/ui/src/lib/helpers
📄 packages/ui/src/lib/helpers/AsyncContent.svelte
📄 packages/ui/src/lib/index.ts
📁 packages/ui/src/lib/richText
📄 packages/ui/src/lib/richText/RichTextEditor.svelte
📄 packages/ui/src/lib/richText/commands.ts
📁 packages/ui/src/lib/richText/config
📄 packages/ui/src/lib/richText/config/config.ts
📄 packages/ui/src/lib/richText/config/theme.ts
📄 packages/ui/src/lib/richText/context.ts
📁 packages/ui/src/lib/richText/css
📄 packages/ui/src/lib/richText/css/component.css
📄 packages/ui/src/lib/richText/css/standard-theme.css
📄 packages/ui/src/lib/richText/linewrap.test.ts
📄 packages/ui/src/lib/richText/linewrap.ts
📁 packages/ui/src/lib/richText/node
📄 packages/ui/src/lib/richText/node/emoji.ts
📄 packages/ui/src/lib/richText/node/ghostText.ts
📄 packages/ui/src/lib/richText/node/inlineCode.ts
📄 packages/ui/src/lib/richText/node/mention.ts
📁 packages/ui/src/lib/richText/plugins
📄 packages/ui/src/lib/richText/plugins/CodeBlockTypeAhead.svelte
📄 packages/ui/src/lib/richText/plugins/Emoji.svelte
📄 packages/ui/src/lib/richText/plugins/EmojiSuggestions.svelte
📄 packages/ui/src/lib/richText/plugins/FilePlugin.svelte
📄 packages/ui/src/lib/richText/plugins/FileUpload.svelte
📄 packages/ui/src/lib/richText/plugins/Formatter.svelte
📄 packages/ui/src/lib/richText/plugins/GhostText.svelte
📄 packages/ui/src/lib/richText/plugins/GiphyPlugin.svelte
📄 packages/ui/src/lib/richText/plugins/HardWrapPlugin.svelte
📄 packages/ui/src/lib/richText/plugins/HardWrapPlugin.test.ts
📄 packages/ui/src/lib/richText/plugins/IndentPlugin.svelte
📄 packages/ui/src/lib/richText/plugins/IndentPlugin.test.ts
📄 packages/ui/src/lib/richText/plugins/InlineCode.svelte
📄 packages/ui/src/lib/richText/plugins/Mention.svelte
📄 packages/ui/src/lib/richText/plugins/PlainTextPastePlugin.svelte
📄 packages/ui/src/lib/richText/plugins/TypeAhead.svelte
📄 packages/ui/src/lib/richText/plugins/UpDownPlugin.svelte
📄 packages/ui/src/lib/richText/plugins/onChange.svelte
📄 packages/ui/src/lib/richText/plugins/onInput.svelte
📄 packages/ui/src/lib/richText/selection.test.ts
📄 packages/ui/src/lib/richText/selection.ts
📁 packages/ui/src/lib/richText/tools
📄 packages/ui/src/lib/richText/tools/FormattingBar.svelte
📄 packages/ui/src/lib/richText/tools/FormattingButton.svelte
📁 packages/ui/src/lib/richText/utils
📄 packages/ui/src/lib/richText/utils/export.ts
📁 packages/ui/src/lib/utils
📄 packages/ui/src/lib/utils/branding.ts
📄 packages/ui/src/lib/utils/browserAgent.ts
📄 packages/ui/src/lib/utils/clickOutside.ts
📄 packages/ui/src/lib/utils/clipboard.ts
📄 packages/ui/src/lib/utils/colorTypes.ts
📄 packages/ui/src/lib/utils/debounce.ts
📄 packages/ui/src/lib/utils/diffParsing.ts
📄 packages/ui/src/lib/utils/externalLinkService.ts
📄 packages/ui/src/lib/utils/filePath.ts
📄 packages/ui/src/lib/utils/getColorFromBranchType.ts
📄 packages/ui/src/lib/utils/getForgeLogo.ts
📄 packages/ui/src/lib/utils/getTimeAndAuthor.ts
📄 packages/ui/src/lib/utils/hotkeySymbols.ts
📄 packages/ui/src/lib/utils/hotkeys.ts
📄 packages/ui/src/lib/utils/hunk.ts
📄 packages/ui/src/lib/utils/imageLoading.svelte.ts
📄 packages/ui/src/lib/utils/imeHandling.ts
📄 packages/ui/src/lib/utils/intersectionObserver.ts
📄 packages/ui/src/lib/utils/marked.ts
📄 packages/ui/src/lib/utils/menuManager.ts
📄 packages/ui/src/lib/utils/mergeUnlisten.ts
📄 packages/ui/src/lib/utils/platform.ts
📄 packages/ui/src/lib/utils/portal.ts
📄 packages/ui/src/lib/utils/pxToRem.ts
📄 packages/ui/src/lib/utils/remToPx.ts
📄 packages/ui/src/lib/utils/resizeObserver.ts
📄 packages/ui/src/lib/utils/scroll.ts
📄 packages/ui/src/lib/utils/sticky.ts
📄 packages/ui/src/lib/utils/string.test.ts
📄 packages/ui/src/lib/utils/string.ts
📄 packages/ui/src/lib/utils/stringToColor.ts
📄 packages/ui/src/lib/utils/testIds.ts
📄 packages/ui/src/lib/utils/timeAgo.test.ts
📄 packages/ui/src/lib/utils/timeAgo.ts
📄 packages/ui/src/lib/utils/tooltipPosition.ts
📄 packages/ui/src/lib/utils/transitions.ts
📄 packages/ui/src/lib/utils/typeguards.ts
📁 packages/ui/src/routes
📄 packages/ui/src/routes/+page.svelte
📁 packages/ui/src/stories
📁 packages/ui/src/stories/components
📄 packages/ui/src/stories/components/AccountButton.stories.svelte
📄 packages/ui/src/stories/components/AddForgeAccountButton.stories.svelte
📄 packages/ui/src/stories/components/AllButton.stories.svelte
📄 packages/ui/src/stories/components/AllFileIcons.stories.svelte
📄 packages/ui/src/stories/components/AllIcon.stories.svelte
📄 packages/ui/src/stories/components/Avatar.stories.svelte
📄 packages/ui/src/stories/components/AvatarGroup.stories.svelte
📄 packages/ui/src/stories/components/Badge.stories.svelte
📄 packages/ui/src/stories/components/ButPcAvatar.stories.svelte
📄 packages/ui/src/stories/components/Button.stories.svelte
📄 packages/ui/src/stories/components/CardGroup.stories.svelte
📄 packages/ui/src/stories/components/Checkbox.stories.svelte
📄 packages/ui/src/stories/components/ChipToast.stories.svelte
📄 packages/ui/src/stories/components/Codeblock.stories.svelte
📄 packages/ui/src/stories/components/CommitLines.stories.svelte
📄 packages/ui/src/stories/components/CommitStatusBadge.stories.svelte
📄 packages/ui/src/stories/components/ContextMenu.stories.svelte
📄 packages/ui/src/stories/components/DropdownButton.stories.svelte
📄 packages/ui/src/stories/components/EmailTextbox.stories.svelte
📄 packages/ui/src/stories/components/EmojiPicker.stories.svelte
📄 packages/ui/src/stories/components/EmptyStatePlaceholder.stories.svelte
📄 packages/ui/src/stories/components/FileIcon.stories.svelte
📄 packages/ui/src/stories/components/FileListItem.stories.svelte
📄 packages/ui/src/stories/components/FileStatusBadge.stories.svelte
📄 packages/ui/src/stories/components/FileViewHeader.stories.svelte
📄 packages/ui/src/stories/components/FileViewHeaderStickyTest.stories.svelte
📄 packages/ui/src/stories/components/FolderListItem.stories.svelte
📄 packages/ui/src/stories/components/ForgeUserCard.stories.svelte
📄 packages/ui/src/stories/components/HunkDiff.stories.svelte
📄 packages/ui/src/stories/components/HunkDiffRow.stories.svelte
📄 packages/ui/src/stories/components/HunkDiffSkeleton.stories.svelte
📄 packages/ui/src/stories/components/Icon.stories.svelte
📄 packages/ui/src/stories/components/ImageDiff.stories.svelte
📄 packages/ui/src/stories/components/InfoButton.stories.svelte
📄 packages/ui/src/stories/components/InfoMessage.stories.svelte
📄 packages/ui/src/stories/components/IntegrationSeriesRow.stories.svelte
📄 packages/ui/src/stories/components/KebabButton.stories.svelte
📄 packages/ui/src/stories/components/LineStats.stories.svelte
📄 packages/ui/src/stories/components/LinkButton.stories.svelte
📄 packages/ui/src/stories/components/Modal.stories.svelte
📄 packages/ui/src/stories/components/NotificationButton.stories.svelte
📄 packages/ui/src/stories/components/ProfilePictureUpload.stories.svelte
📄 packages/ui/src/stories/components/RadioButton.stories.svelte
📄 packages/ui/src/stories/components/RangeInput.stories.svelte
📄 packages/ui/src/stories/components/ReviewBadge.stories.svelte
📄 packages/ui/src/stories/components/RichTextEditor.stories.svelte
📄 packages/ui/src/stories/components/SegmentControl.stories.svelte
📄 packages/ui/src/stories/components/Select.stories.svelte
📄 packages/ui/src/stories/components/SeriesLabelsRow.stories.svelte
📄 packages/ui/src/stories/components/SimpleCommitRow.stories.svelte
📄 packages/ui/src/stories/components/SimpleCommitRowList.stories.svelte
📄 packages/ui/src/stories/components/SimpleCommitRowSkeleton.stories.svelte
📄 packages/ui/src/stories/components/SkeletonBone.stories.svelte
📄 packages/ui/src/stories/components/Spacer.stories.svelte
📄 packages/ui/src/stories/components/TagInput.stories.svelte
📄 packages/ui/src/stories/components/Textarea.stories.svelte
📄 packages/ui/src/stories/components/Textbox.stories.svelte
📄 packages/ui/src/stories/components/TimeAgo.stories.svelte
📄 packages/ui/src/stories/components/Toggle.stories.svelte
📄 packages/ui/src/stories/components/Tooltip.stories.svelte
📄 packages/ui/src/stories/components/VirtualList.stories.svelte
📄 packages/ui/src/stories/components/scrollbarContainer.stories.svelte
📁 packages/ui/src/stories/docs
📄 packages/ui/src/stories/docs/introduction.mdx
📁 packages/ui/src/stories/utils
📄 packages/ui/src/stories/utils/Sticky.stories.svelte
📁 packages/ui/src/styles
📁 packages/ui/src/styles/components
📄 packages/ui/src/styles/components/card.css
📄 packages/ui/src/styles/components/commit-lines.css
📄 packages/ui/src/styles/components/f-keys.css
📄 packages/ui/src/styles/components/segment.css
📄 packages/ui/src/styles/components/text-input.css
📁 packages/ui/src/styles/core
📄 packages/ui/src/styles/core/variables.css
📄 packages/ui/src/styles/main.css
📁 packages/ui/src/styles/sharable
📄 packages/ui/src/styles/sharable/markdown.css
📄 packages/ui/src/styles/sharable/syntax-highlighting.css
📁 packages/ui/static
📄 packages/ui/static/favicon.png
📄 packages/ui/storybook.d.ts
📄 packages/ui/svelte.config.js
📁 packages/ui/tests
📄 packages/ui/tests/HardWrapPlugin.spec.ts
📄 packages/ui/tests/HardWrapPluginTestWrapper.svelte
📄 packages/ui/tests/IndentPlugin.spec.ts
📄 packages/ui/tests/IndentPluginTestWrapper.svelte
📄 packages/ui/tests/InlineCode.spec.ts
📄 packages/ui/tests/InlineCodeTestWrapper.svelte
📄 packages/ui/tests/VirtualList.spec.ts
📄 packages/ui/tests/VirtualListTestWrapper.svelte
📄 packages/ui/tests/index.html
📄 packages/ui/tests/index.ts
📄 packages/ui/tests/test-utils.spec.ts
📄 packages/ui/tests/test-utils.ts
📄 packages/ui/tsconfig.json
📄 packages/ui/vite.config.ts
📄 packages/ui/vitest.workspace.ts
📄 pnpm-lock.yaml
📄 pnpm-workspace.yaml
📄 readme-preview.webp
📄 rust-toolchain.toml
📄 rustfmt-nightly.toml
📄 rustfmt.toml
📁 scripts
📄 scripts/cargo-test.sh
📄 scripts/clean.sh
📄 scripts/delete-fixtures.sh
📄 scripts/format.sh
📄 scripts/generate-ts-definitions-from-rust.sh
📄 scripts/install-minimal-debian-dependencies.sh
📄 scripts/install-tauri-debian-dependencies.sh
📄 scripts/install.sh
📄 scripts/next.sh
📄 scripts/normalize-spaces.sh
📄 scripts/release.sh
📄 tsconfig.json
📄 turbo.json
Back to Trending