{"id":44676036,"url":"https://github.com/kitproj/diff-server","last_synced_at":"2026-02-15T03:06:57.105Z","repository":{"id":324441561,"uuid":"1097226898","full_name":"kitproj/diff-server","owner":"kitproj","description":"Diffs CLI","archived":false,"fork":false,"pushed_at":"2025-11-15T21:04:06.000Z","size":51,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-11-15T22:04:59.304Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kitproj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-15T19:14:24.000Z","updated_at":"2025-11-15T20:47:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"7f681a6f-6ca4-4918-8ac2-48cf2fd702cf","html_url":"https://github.com/kitproj/diff-server","commit_stats":null,"previous_names":["kitproj/diff-server"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/kitproj/diff-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitproj%2Fdiff-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitproj%2Fdiff-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitproj%2Fdiff-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitproj%2Fdiff-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kitproj","download_url":"https://codeload.github.com/kitproj/diff-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitproj%2Fdiff-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29466925,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T01:01:38.065Z","status":"online","status_checked_at":"2026-02-15T02:00:07.449Z","response_time":118,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-15T03:06:56.394Z","updated_at":"2026-02-15T03:06:57.098Z","avatar_url":"https://github.com/kitproj.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# diff-server\n\nA lightweight Go web server that displays git diffs from the current directory and all git repositories in subdirectories. It provides a clean, real-time web interface for viewing uncommitted changes across multiple repositories in your workspace.\n\nLike `jq`, it is a single tiny binary without dependencies, making it easy to install and use anywhere.\n\n![Screenshot](screenshot.png)\n\n## Installation\n\n### Supported Platforms\n\nBinaries are available for:\n- **Linux**: 386, amd64, arm64\n- **macOS**: amd64 (Intel), arm64 (Apple Silicon)\n\n### Download and Install\n\nDownload the binary for your platform from the [release page](https://github.com/kitproj/diff-server/releases).\n\n#### Linux\n\n**For Linux (amd64):**\n```bash\nsudo curl -fsL -o /usr/local/bin/diff-server https://github.com/kitproj/diff-server/releases/download/v0.0.3/diff-server_v0.0.3_linux_amd64\nsudo chmod +x /usr/local/bin/diff-server\n```\n\n**For Linux (arm64):**\n```bash\nsudo curl -fsL -o /usr/local/bin/diff-server https://github.com/kitproj/diff-server/releases/download/v0.0.3/diff-server_v0.0.3_linux_arm64\nsudo chmod +x /usr/local/bin/diff-server\n```\n\n**For Linux (386):**\n```bash\nsudo curl -fsL -o /usr/local/bin/diff-server https://github.com/kitproj/diff-server/releases/download/v0.0.3/diff-server_v0.0.3_linux_386\nsudo chmod +x /usr/local/bin/diff-server\n```\n\n#### macOS\n\n**For macOS (Apple Silicon/arm64):**\n```bash\nsudo curl -fsL -o /usr/local/bin/diff-server https://github.com/kitproj/diff-server/releases/download/v0.0.3/diff-server_v0.0.3_darwin_arm64\nsudo chmod +x /usr/local/bin/diff-server\n```\n\n**For macOS (Intel/amd64):**\n```bash\nsudo curl -fsL -o /usr/local/bin/diff-server https://github.com/kitproj/diff-server/releases/download/v0.0.3/diff-server_v0.0.3_darwin_amd64\nsudo chmod +x /usr/local/bin/diff-server\n```\n\n#### Verify Installation\n\nAfter installing, verify the installation works:\n```bash\ndiff-server -h\n```\n\n### Build from Source\n\nIf you prefer to build from source:\n\n```bash\ngit clone https://github.com/kitproj/diff-server.git\ncd diff-server\ngo build -o diff-server .\n```\n\n## Usage\n\n### Starting the Server\n\n**Run with default settings (port 3844, current directory):**\n```bash\ndiff-server\n```\n\n**Run on a custom port:**\n```bash\ndiff-server -p 9000\n```\n\n**Scan a different directory:**\n```bash\ndiff-server -C /path/to/workspace\n```\n\n**Combine options:**\n```bash\ndiff-server -p 8080 -C ~/projects\n```\n\n### Viewing Diffs\n\nAfter starting the server, open your web browser and navigate to:\n```\nhttp://localhost:3844\n```\n\nThe web interface will automatically:\n- Display all uncommitted changes in the current directory (if it's a git repository)\n- Recursively scan subdirectories for git repositories\n- Show diffs from all discovered repositories\n- Auto-refresh every 10 seconds to show new changes\n\n### Command-Line Options\n\n```bash\nUsage of diff-server:\n  -C string\n    \tDirectory to scan for git repositories (default \".\")\n  -p string\n    \tPort to listen on (default \"3844\")\n```\n\n## Features\n\n- **Multi-repository support**: Automatically discovers and displays diffs from all git repositories in subdirectories\n- **Real-time updates**: The web interface polls for changes every 10 seconds\n- **Clean UI**: Uses Diff2Html for a beautiful, syntax-highlighted diff view\n- **Untracked files**: Shows new files that haven't been added to git yet\n- **Lightweight**: Single binary with no runtime dependencies\n- **Fast**: Efficient scanning and rendering of diffs\n\n## Use Cases\n\n- **Code review**: Quickly review all changes across multiple projects before committing\n- **Workspace monitoring**: Keep an eye on what's changed in your development workspace\n- **Pair programming**: Share a link to show your current work to teammates\n- **CI/CD**: Run in a pipeline to visualize changes before deployment\n\n## Troubleshooting\n\n### Common Issues\n\n**\"Cannot connect\" or server not accessible**\n- Verify the server is running: check the terminal for the startup message\n- Ensure the port is not already in use by another application\n- Try a different port: `diff-server -p 8080`\n\n**No diffs showing**\n- Ensure you're in a directory that contains git repositories\n- Check that you have uncommitted changes: `git status`\n- Verify the directory path if using `-C` flag\n\n**Large diffs not fully displayed**\n- The server limits output to 5MB per request to prevent memory issues\n- Consider committing some changes or viewing specific repositories separately\n\n**Permission denied when installing**\n- Use `sudo` when installing to `/usr/local/bin`\n- Alternatively, install to a user-owned directory like `~/bin` and add it to your PATH\n\n### Getting Help\n\n- Report issues: https://github.com/kitproj/diff-server/issues\n- Check existing issues for solutions and workarounds\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitproj%2Fdiff-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkitproj%2Fdiff-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitproj%2Fdiff-server/lists"}