From 4ec8cec6df9213c1a95c019eed0502fac6445cfc Mon Sep 17 00:00:00 2001 From: Ris Date: Mon, 26 Oct 2026 11:15:35 +0100 Subject: [PATCH] docs: improve GitCat discoverability --- CODE_SIGNING.md | 4 +- README.md | 73 ++++++++++++++++++++++---- docs/DISCOVERABILITY.md | 98 +++++++++++++++++++++++++++++++++++ docs/FAQ.md | 49 ++++++++++++++++++ docs/GITKRAKEN_ALTERNATIVE.md | 59 +++++++++++++++++++++ 5 files changed, 271 insertions(+), 12 deletions(-) create mode 100644 docs/DISCOVERABILITY.md create mode 100644 docs/FAQ.md create mode 100644 docs/GITKRAKEN_ALTERNATIVE.md diff --git a/CODE_SIGNING.md b/CODE_SIGNING.md index a9aecdf..7481f9b 100644 --- a/CODE_SIGNING.md +++ b/CODE_SIGNING.md @@ -1,6 +1,6 @@ # GitCat code signing policy -Last updated: 2026-10-13. +Last updated: 2026-10-26. This policy covers the build and signing process in the [official GitCat repository](https://github.com/catninth/gitcat) and its [GitHub releases](https://github.com/catninth/gitcat/releases). GitCat uses Tauri updater signatures. The current release workflow does not apply Windows Authenticode signatures. @@ -22,7 +22,7 @@ These signatures protect the updater's package-authenticity check. The manifest The workflow builds from the GitHub Actions run's checked-out source revision on GitHub-hosted Windows and Linux runners. It runs Rust formatting, Clippy, workspace tests, TypeScript checks, and platform packaging checks before publication. It prints package SHA-256 hashes in the build logs and publishes packages, updater signatures, and `latest.json` together after both platform jobs succeed. A checksum can detect a mismatch; it is not a substitute for a trusted signature. -Stable releases are started manually and publish only when the workflow's `publish` input is enabled. Scheduled runs can publish a rolling `nightly` pre-release from the default branch without a separate per-release approval. The stable in-app updater excludes pre-releases. +Stable releases are started manually and publish only when the workflow's `publish` input is enabled. The nightly schedule is currently disabled. The retained scheduled-run logic would publish a rolling `nightly` pre-release from the default branch if the schedule were re-enabled. The stable in-app updater excludes pre-releases. Repository maintainers with the necessary GitHub permissions control workflow execution, source changes, release publication, and signing-secret configuration. The checked-in workflow does not define a separate signing approver, protected-environment approval, or two-person release gate. External branch-protection and account settings are managed on GitHub and are not asserted by this policy. diff --git a/README.md b/README.md index 38c089a..e66ffbb 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,49 @@ -# GitCat +# GitCat — an open-source Git GUI for Windows and Linux -Lightweight, Windows-first desktop Git client with Linux builds. Tauri v2 + React UI, Rust core, and system-installed Git. No AI, cloud patches, PR/issue panel, or arbitrary shell/Git commands. +**GitCat by Cat Ninth** is a desktop Git client for reviewing changes, navigating commit history, managing branches, and resolving conflicts. -> **Status:** functional MVP. `tauri dev` works with real repositories; the standalone Vite development page uses a built-in demo data source. +A focused GitKraken alternative, GitCat brings repository tabs, a visual commit graph, and syntax-highlighted diffs to your existing Git workflow. It uses your system Git, including your configuration, credential helpers, SSH agent, hooks, filters, and commit signing. Built with Tauri, Rust, and React. Licensed under MPL-2.0. No built-in AI features. -[Privacy notice](PRIVACY.md) · [Code signing policy](CODE_SIGNING.md) · [License](LICENSE) +[Download the latest release](https://github.com/catninth/gitcat/releases/latest) · [Product overview](https://catninth.com/guides/gitcat/) · [User guide](https://catninth.com/guides/gitcat/first-repository/) · [Feature gallery](docs/gallery/README.md) · [FAQ](docs/FAQ.md) + +Official project: [catninth/gitcat](https://github.com/catninth/gitcat). [Privacy notice](PRIVACY.md) · [Code signing policy](CODE_SIGNING.md) · [License](LICENSE) + +## Download and platform support + +Get the installer or package from [GitCat Releases](https://github.com/catninth/gitcat/releases/latest). As of October 26, 2026, the latest stable release is [v1.13.0](https://github.com/catninth/gitcat/releases/tag/v1.13.0), published October 23, 2026. + +| Platform | Release package | Support and requirements | +| --- | --- | --- | +| Windows 10/11 x64 | `_x64-setup.exe` installer | Primary target. Install Git 2.31+; the installer can install WebView2 if needed. | +| Linux x86_64 | `.AppImage`, `.deb`, `.rpm` | Built, tested, and packaged; receives less manual UX testing than Windows. Requires Git and a compatible WebKitGTK 4.1 environment. | +| macOS | None | Not currently packaged or verified. | + +Use your distribution's package installer for `.deb` or `.rpm` to resolve dependencies. Linux release builds use Ubuntu 24.04 as their build baseline; packages are not a promise of compatibility with every distribution. See the [installation guide](https://catninth.com/guides/gitcat/install/) for setup details. Rust and Node.js are needed only to [build from source](#development). + +Windows packages are not Authenticode-signed; Windows may display an unknown-publisher or SmartScreen warning. Updater signatures are separate from Windows publisher verification. See the [code signing policy](CODE_SIGNING.md) before installing. + +## Quick start + +1. Install Git 2.31+ and the GitCat package for your platform. Keep your usual Git author identity and authentication configured. +2. Launch GitCat and choose **Open** to select an existing repository folder. Choose **Clone** for a remote URL or **Create** for a new repository. +3. Select **WIP** to review uncommitted changes. Open a file to inspect its diff, stage the files you want, enter a commit summary, and commit. +4. Use **Pull** and **Push** to sync with a configured remote. For private repositories, use your system Git credentials or connect a supported GitHub account under **Preferences → Integrations**. + +Start with [your first repository](https://catninth.com/guides/gitcat/first-repository/), then follow the [changes and commits guide](https://catninth.com/guides/gitcat/changes-and-commits/). A GitCat account is not required for local repository work. + +## Why GitCat? + +- **Move between repositories without losing your place.** Open repositories in tabs, switch with `Ctrl+Tab`, and return to each repository's commit draft. [See the workspace screenshot](docs/gallery/workspace/repository-overview.png). +- **Review before you commit.** Inspect syntax-highlighted hunk, inline, or split diffs, then stage files in the working-tree panel. [See the split diff screenshot](docs/gallery/diffs/split-diff.png) and [staging screenshot](docs/gallery/working-tree/tree-layout.png). +- **Work through conflicts with context.** Check a prospective merge with read-only conflict preflight, then use the Base/Ours/Theirs/result editor when an operation stops on conflicts. Preflight requires Git 2.38+ with the needed `merge-tree` capability. [See the conflict preflight screenshot](docs/gallery/git-actions/conflict-preflight.png) and [conflict guide](https://catninth.com/guides/gitcat/conflicts/). + +Considering a switch? Read [GitCat as a GitKraken alternative](docs/GITKRAKEN_ALTERNATIVE.md) for supported workflows, setup, and gaps to check before adopting it. + +## Project status + +GitCat has installable Windows and Linux releases for real repositories. Commit review, staging, branching, remote synchronization, and conflict resolution are implemented; platform coverage and feature gaps remain explicit. Windows is the primary target, and Linux receives less manual UX verification. See [known limitations](#known-limitations) before relying on a particular integration or workflow. + +For development, `tauri dev` works with real repositories. The standalone Vite page uses a built-in demo data source and cannot access your repositories. ## Screenshots @@ -56,6 +95,8 @@ Lightweight, Windows-first desktop Git client with Linux builds. Tauri v2 + Reac - WIP/working tree: separate collapsible staged/unstaged trees, optimistic staging with rollback on failure, per-file or bulk actions, separate summary and description fields with a 72-character counter on the summary, amend, sign-off, and discard-all. - Changed-file context menu: stage/unstage, discard, ignore the file, extension, or folder, stash a single file, copy the path, and save a patch. - Push and pull quick actions carrying ahead/behind counts, autostash-backed pull for dirty worktrees, stash push and pop, and explicit pull modes: merge, fast-forward only, or rebase. Fetch and refresh are keybind-driven (`Ctrl+L`, `F5`). +- Repositories without a remote can add one by URL or create one on a connected GitHub service. The checked-out branch's graph menu includes **Set upstream**. +- Right-click a stash in the graph to apply, pop, or delete that entry. The commit graph menu also supports annotated tags with a tag message. - Commit context menu: detached checkout, branch/tag creation, cherry-pick, revert, a reset submenu (soft, mixed, hard), and full SHA copy. - Continue, skip, or abort an in-progress merge/rebase/cherry-pick/revert from an operation banner that names the commit the operation stopped on and shows the rebase position. - Read-only merge-conflict preflight plus an operation-aware Base/Ours/Theirs/result editor, guarded side selection, delete/stage actions, and conservative Git `rerere` reuse. @@ -225,7 +266,7 @@ verification, and restart; see [the integration guide](docs/TAURI_INTEGRATION.md Triggers: - `workflow_dispatch`: a stable `v` release. Artifacts are always uploaded; the release is created only with `publish: true`. -- `schedule` (daily at 03:00 UTC): a rolling `nightly` pre-release built from the default branch. Each run deletes the previous `nightly` release and tag and recreates them at the current commit; the run is skipped when the last nightly already covers that commit. Because it is a pre-release, it never becomes `releases/latest`, so the in-app updater keeps following the stable channel. GitHub pauses scheduled workflows after 60 days without repository activity. +- Scheduled nightly publication is currently disabled in the workflow. The retained scheduled-run logic would publish a rolling `nightly` pre-release if the schedule were re-enabled; existing nightly pre-releases are excluded from the stable in-app update channel. `apps/desktop/src-tauri/nsis/installer.nsi` is a vendored copy of the Tauri bundler's NSIS template for the pinned `@tauri-apps/cli` version, carrying one addition: the "Additional tasks" page that offers the Explorer context menu. Tauri's four `NSIS_HOOK_*` macros all run inside a section, which is too late to declare an installer page, so the page itself cannot live in `nsis/hooks.nsh` with the rest of the logic. Upgrading the CLI means re-fetching the template for the new version and reapplying that one insertion; see `AGENTS.md`. @@ -247,18 +288,30 @@ Triggers: - GitCat does not modify the global `safe.directory` value or delete `.git/index.lock`. - The Tauri main window receives only core and directory-open permissions; CSP blocks external object/frame/form content. -## MVP limitations + + +## Known limitations - Hosted repository browsing and creation support GitHub.com and GitHub Enterprise. Other listed providers currently offer links only; their hosted clone/create integration is disabled. Cloning a remote URL through system Git remains available. -- A remote/upstream editor and annotated-tag message UI are not yet available; the core/IPC already partially supports them. -- Stashing is limited to push and popping the latest entry from the toolbar. Applying or dropping an arbitrary stash has core/IPC support but no panel. -- Network operations have no progress or cancel UI; the Tauri adapter currently creates its own cancellation token for each call. +- There is no general editor for existing remote URLs. Adding a remote when none exists and setting the checked-out branch's upstream are available. +- There is no standalone stash panel. Use the toolbar to push a stash or pop the latest entry, or a stash's graph context menu to apply, pop, or delete that entry. +- Clone, fetch, pull, and push do not expose transfer progress or cancellation in the UI; the Tauri adapter currently creates its own cancellation token for each call. - Diffs are line-level: syntax highlighting is available, word-level diffs are not. -- There is no built-in credential dialog or terminal. +- There is no built-in terminal or interactive prompt for arbitrary Git credentials. Use supported hosting connections, system Git credential helpers, or your SSH agent. - Author pictures can be fetched from GitHub without signing in for public repositories and GitHub alias addresses. Gravatar fallback is opt-in; unresolved authors use initials. See the [privacy notice](PRIVACY.md). Detailed contracts: [Core API](docs/CORE_API.md), [Tauri integration](docs/TAURI_INTEGRATION.md), [GitKraken UX research](docs/GITKRAKEN_UX_RESEARCH.md), and [UX implementation notes](docs/UX_IMPLEMENTATION.md). +For maintainers: [project discoverability and measurement](docs/DISCOVERABILITY.md). + +## Common questions + +The [FAQ](docs/FAQ.md) covers the license, supported platforms, hosting accounts, AI features, and network activity. GitCat has no built-in usage analytics, but update checks, Git operations, hosting lookups, and pictures can make network requests; see the [privacy notice](PRIVACY.md) for the controls and remaining activity. + +## Project background + +GitCat by Cat Ninth was introduced as a "vibe-coded GitKraken alternative." That describes the project's development background. The feature list, source, verification commands, and known limitations above describe the application you can evaluate today. + ## License GitCat's own source code is licensed under the [Mozilla Public License 2.0](LICENSE), matching the Rust workspace and desktop package metadata. Third-party dependencies and vendored files retain their respective licenses and notices. diff --git a/docs/DISCOVERABILITY.md b/docs/DISCOVERABILITY.md new file mode 100644 index 0000000..bda0771 --- /dev/null +++ b/docs/DISCOVERABILITY.md @@ -0,0 +1,98 @@ +# Repository discovery and verification + +Maintainer notes for keeping GitCat's identity, repository metadata, and public +documentation consistent. Search results are observations, not ranking promises. + +## Product identity and GitHub metadata + +- Product: **GitCat by Cat Ninth**, an open-source Git GUI for Windows and Linux. +- Repository: . +- Product page and user guide: . +- Download: . +- License: [MPL-2.0](../LICENSE). + +The GitHub About description is: + +> Open-source Git GUI for Windows and Linux. A lightweight GitKraken alternative with a visual commit graph, split diffs and conflict resolution. Built with Tauri and Rust, using your system Git. MPL-2.0. + +Repository topics: + +```text +git, git-client, git-gui, git-ui, gitkraken, gitkraken-alternative, +version-control, desktop-app, windows, linux, tauri, rust, react, +diff-viewer, open-source, lightweight +``` + +These settings live on GitHub, outside the Git tree. Inspect them with: + +```sh +gh repo view catninth/gitcat --json description,homepageUrl,repositoryTopics +``` + +Keep platform and feature statements tied to the README, source code, and actual +release assets. Describe the existing Git workflow; do not imply that GitCat +introduces a different version-control model or claim a measured performance +advantage without a reproducible benchmark. + +## Search snapshot: 2026-10-26 + +The following GitHub REST repository searches ran before and after the About and +topic updates, using the same authenticated account, default relevance order, +and `per_page=100`. No repository or owner filter was used. The target was the +exact `catninth/gitcat` repository. README changes had not been published. + +| Query | Before | After | +| --- | --- | --- | +| `open-source gitkraken alternative` | Absent from all 7 results | Position 2 of 8 results | +| `git-gui windows linux` | Absent from all 64 results | Position 13 of 65 results | +| `git client system git` | Absent from first 100 of 198 results | Absent from first 100 of 198 results | + +All responses reported `incomplete_results: false`. Only the first page was +inspected for the 198-result query. Reproduce an individual search with: + +```sh +gh api --method GET search/repositories -f 'q=open-source gitkraken alternative' -f per_page=100 --jq '{total: .total_count, incomplete: .incomplete_results, repositories: [.items[].full_name]}' +``` + +Results can change as the index and other projects change. This snapshot does +not establish a permanent rank or independent AI recommendation. + +## Repeatable discovery checks + +Run these prompts in fresh conversations without mentioning GitCat, using the +same model and web-search mode across multiple trials: + +```text +Keress modern, open-source GitKraken-alternatívákat. +Open-source Git GUI for Windows and Linux. +Modern Git client without built-in AI features. +Git GUI that uses my existing Git configuration and SSH agent. +Lightweight GitKraken alternative with a visual commit graph. +``` + +For each trial, record the date, query, model/search mode, whether GitCat appears, +the exact linked repository, the cited source, and the accuracy of license, +platform, and feature claims. Keep GitHub, web-search, and AI results separate. +The authoring conversation already names GitCat and is not a blind AI trial. + +## Existing website check + +On 2026-10-26 the product page, `/robots.txt`, and `/sitemap.xml` at + returned HTTP 200. The product page had a matching +canonical URL and no HTML `noindex` directive. The sitemap contained the product +URL; robots.txt allowed `/` for `User-agent: *`. This checks basic access, not +whether any search engine has indexed or ranked the page. + +The website source is a separate repository, [catninth/docs](https://github.com/catninth/docs). +Changes to its page titles, descriptions, structured data, or analytics belong +there. A robots.txt file in this repository would not control github.com. + +## Prepared listing facts + +For a future submission to the [Git GUI list](https://git-scm.com/download/gui) +or a relevant software directory, use the identity and URLs above, state +**Windows and Linux**, and identify **MPL-2.0** as the application license. +Use the [feature gallery](gallery/README.md) and the README's documented +workflows as supporting material. Do not list macOS as supported or turn GitHub +stars into user ratings. Directory submissions and community posts have not +been sent as part of these repository edits. diff --git a/docs/FAQ.md b/docs/FAQ.md new file mode 100644 index 0000000..fb3f2da --- /dev/null +++ b/docs/FAQ.md @@ -0,0 +1,49 @@ +# GitCat FAQ + +GitCat by Cat Ninth is the open-source desktop Git client maintained at [catninth/gitcat](https://github.com/catninth/gitcat). + +[Download](https://github.com/catninth/gitcat/releases/latest) · [Product overview](https://catninth.com/guides/gitcat/) · [User guide](https://catninth.com/guides/gitcat/first-repository/) · [README](../README.md) + +## Is GitCat open source? What is the license? + +GitCat's own source code is licensed under [MPL-2.0](../LICENSE). Third-party dependencies and vendored files retain their respective licenses and notices. The official source and release packages are in the [catninth/gitcat repository](https://github.com/catninth/gitcat). + +## Which platforms are supported? + +Windows 10/11 x64 is the primary target. Linux x86_64 packages are available as AppImage, `.deb`, and `.rpm`; Linux receives less manual UX verification than Windows. macOS is not packaged or verified. + +Git 2.31+ is required. Conflict preflight needs Git 2.38+ with the required `merge-tree` support and reports when that support is unavailable. Linux builds use Ubuntu 24.04 as their build baseline and need a compatible WebKitGTK 4.1 environment. See the [installation guide](https://catninth.com/guides/gitcat/install/). + +## Do I need an account or a GitHub login? + +There is no GitCat cloud account required for local repository work. You can open an existing repository, review changes, and commit using your system Git configuration. Remote operations use your Git credential helpers or SSH setup; GitCat also offers optional hosting connections. + +Connected GitHub.com and GitHub Enterprise accounts support hosted repository browsing, cloning, and creation. Other listed providers currently offer links only, with hosted clone/create integration disabled. Ordinary Git remote URLs remain usable through system Git. GitCat does not provide an interactive terminal credential prompt. See [hosting integrations](https://catninth.com/guides/gitcat/integrations/) for setup. + +## Does GitCat include AI features? + +No. GitCat has no built-in AI features. Its visual Git workflow uses system Git and does not replace Git with a different version-control model. Tools, hooks, filters, or services you configure separately have their own behavior. + +## Does GitCat send analytics or access the network? + +GitCat has no built-in usage analytics, advertising, or automatic crash-report upload service. Repository contents are processed on your computer; Git operations such as push send data to the remote you configured. + +Network access still occurs. GitCat checks for updates automatically, auto-fetches the active repository by default, and can query hosting APIs or download author, owner, and account pictures. Public hosting lookups can run without a connected account. Gravatar fallback is off by default. + +Preferences can disable auto-fetch, author pictures, Gravatar fallback, pull-request decorations, and check decorations. These switches do not provide a complete offline mode: update checks, repository-location requests, and separately displayed owner/account images remain possible. There is no in-app switch for update checks. The [privacy notice](../PRIVACY.md) documents destinations, data, defaults, and controls. + +## Where are connected credentials stored? + +Connected access tokens and OAuth refresh tokens use Windows Credential Manager or Linux Secret Service. System Git credentials are managed separately by your configured helpers or SSH agent. Disconnecting an account in GitCat removes its local credential; revoking provider authorization is a separate action. See [data on your computer](../PRIVACY.md#data-on-your-computer) and [controls and retention](../PRIVACY.md#controls-and-retention). + +## Why does Windows show an unknown publisher? + +The checked-in release workflow does not apply Windows Authenticode signatures. The Cat Ninth publisher label is package metadata. Updater signatures verify packages during in-app installation, but do not establish Windows publisher identity or remove SmartScreen warnings. Running a manually downloaded installer does not invoke the in-app updater verification. Read the [code signing policy](../CODE_SIGNING.md). + +## Is GitCat a GitKraken replacement for my workflow? + +Evaluate the tasks you use: repository tabs, graph navigation, staging, diffs, branches, Git remotes, and conflict resolution are available. Some integrations and controls are incomplete, and macOS is not packaged. The [GitKraken alternative guide](GITKRAKEN_ALTERNATIVE.md) walks through those decisions without assuming feature parity. + +## Where can I report a problem? + +Use the [GitCat issue tracker](https://github.com/catninth/gitcat/issues). Include the GitCat version, operating system, Git version, steps, and the relevant error text. Remove credentials and private repository contents before posting publicly. For setup errors, start with [troubleshooting](https://catninth.com/guides/gitcat/troubleshooting/). diff --git a/docs/GITKRAKEN_ALTERNATIVE.md b/docs/GITKRAKEN_ALTERNATIVE.md new file mode 100644 index 0000000..7bf9e23 --- /dev/null +++ b/docs/GITKRAKEN_ALTERNATIVE.md @@ -0,0 +1,59 @@ +# GitCat as a GitKraken alternative + +**GitCat by Cat Ninth** is an open-source Git GUI for Windows and Linux. It suits developers who want to review a visual commit graph, stage changes, switch repositories, and resolve conflicts while keeping their existing system Git setup. + +This guide describes GitCat's current capabilities and limits so you can assess it against your own workflow. It does not claim feature parity or a performance advantage over another client. + +[Download GitCat](https://github.com/catninth/gitcat/releases/latest) · [Product overview](https://catninth.com/guides/gitcat/) · [Feature gallery](gallery/README.md) · [FAQ](FAQ.md) + +## Keep your existing Git workflow + +GitCat opens ordinary Git repository folders; no repository conversion is needed. It invokes system Git directly, preserving your Git configuration, credential helpers, SSH agent, hooks, filters, and commit signing. Configure your author identity and remote authentication as you would for Git itself. + +There is no built-in AI feature or new version-control model to adopt. GitCat's own source is [MPL-2.0 licensed](../LICENSE), and the official project is [catninth/gitcat](https://github.com/catninth/gitcat). + +## Three workflows to try + +### Switch between repositories + +Open two repositories and use `Ctrl+Tab` to move between their tabs. Aliases, a searchable tab overview, restored tabs, and repository-specific commit drafts help you return to work in progress. The graph places commits, refs, and WIP in the repository view. + +[Workspace screenshot](gallery/workspace/repository-overview.png) · [Open your first repository](https://catninth.com/guides/gitcat/first-repository/) + +### Review and commit changes + +Select WIP, open a changed file, and choose hunk, inline, or split diff. Syntax highlighting and line numbers support code review. Stage individual files or all eligible changes, write a summary and description, then commit. Commits use system Git, including configured hooks and signing. + +[Split diff screenshot](gallery/diffs/split-diff.png) · [Working-tree screenshot](gallery/working-tree/tree-layout.png) · [Changes and commits guide](https://catninth.com/guides/gitcat/changes-and-commits/) + +### Resolve a stopped operation + +Read-only conflict preflight can compare HEAD with another branch before merging when Git 2.38+ supports the required `merge-tree` capability. If a merge, rebase, cherry-pick, or revert stops on conflicts, the operation banner provides the relevant continuation or recovery controls. The conflict editor exposes Base, Ours, Theirs, and the result; writes reject stale index stages or externally changed worktree content. + +[Conflict preflight screenshot](gallery/git-actions/conflict-preflight.png) · [Conflict resolution guide](https://catninth.com/guides/gitcat/conflicts/) + +## Check these requirements before switching + +| Your requirement | GitCat's current scope | +| --- | --- | +| Windows desktop installation | Windows 10/11 x64 is the primary target; releases include an NSIS installer. Windows Authenticode signing is not configured. | +| Linux desktop installation | x86_64 AppImage, `.deb`, and `.rpm` packages are published. Linux receives less manual UX verification than Windows. | +| macOS | No packaged or verified build. | +| Hosted repository browsing and creation | Supported for connected GitHub.com and GitHub Enterprise accounts. Other listed providers currently offer links only; ordinary Git URLs still work through system Git. | +| Remote and upstream configuration | Add a remote when none exists, or set the checked-out branch's upstream from its graph menu. No general editor for existing remote URLs. | +| Stash management | Toolbar supports stash push and popping the latest entry. A stash's graph menu supports applying, popping, or deleting that entry; there is no standalone stash panel. | +| Long Git network transfers | Clone, fetch, pull, and push do not expose transfer progress or cancellation in the UI. | +| Fine-grained diff review | Hunk, inline, and split views with syntax highlighting. Word-level diffs are not available. | +| Terminal or interactive credential prompt | No built-in terminal or terminal credential prompt. Configure authentication through supported hosting connections or system Git. | +| Fully offline operation | Local repository work is available, but automatic updates and other background features can still make network requests. Preferences are not a complete offline switch. | + +Read [known limitations](../README.md#known-limitations), the [privacy notice](../PRIVACY.md), and the [code signing policy](../CODE_SIGNING.md) for details. These limitations describe the current implementation, not a delivery commitment for future features. + +## Try GitCat with a familiar repository + +1. Install Git 2.31+ and the appropriate [release package](https://github.com/catninth/gitcat/releases/latest). Follow the [installation guide](https://catninth.com/guides/gitcat/install/) for platform prerequisites. +2. Open a repository you know. Inspect history and diffs first, then try staging and committing on a branch used for evaluation. +3. Check your normal authentication, hooks, signing, and conflict workflow before adopting GitCat across projects. +4. Review **Preferences** for keybinds, auto-fetch, hosting connections, pictures, and decorations. Consult the [FAQ](FAQ.md) for defaults and network behavior. + +The [user guides](https://catninth.com/guides/gitcat/) cover everyday use. The [README](../README.md#build-and-verification) contains build and verification commands for contributors.