{"id":36972299,"url":"https://github.com/voight-dev/voight","last_synced_at":"2026-01-13T21:57:02.747Z","repository":{"id":331437083,"uuid":"1124949141","full_name":"voight-dev/voight","owner":"voight-dev","description":"Track and review AI-generated code in VS Code. ","archived":false,"fork":false,"pushed_at":"2026-01-04T05:51:13.000Z","size":8494,"stargazers_count":21,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-08T08:57:34.566Z","etag":null,"topics":["ai","code-review","complexity","typescript","vscode","vscode-extension"],"latest_commit_sha":null,"homepage":"https://voight.dev","language":"TypeScript","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/voight-dev.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-12-29T22:39:18.000Z","updated_at":"2026-01-07T00:24:28.000Z","dependencies_parsed_at":"2026-01-09T09:06:33.433Z","dependency_job_id":null,"html_url":"https://github.com/voight-dev/voight","commit_stats":null,"previous_names":["voight-dev/voight"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/voight-dev/voight","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voight-dev%2Fvoight","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voight-dev%2Fvoight/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voight-dev%2Fvoight/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voight-dev%2Fvoight/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/voight-dev","download_url":"https://codeload.github.com/voight-dev/voight/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voight-dev%2Fvoight/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28400397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T14:36:09.778Z","status":"ssl_error","status_checked_at":"2026-01-13T14:35:19.697Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ai","code-review","complexity","typescript","vscode","vscode-extension"],"created_at":"2026-01-13T21:57:02.597Z","updated_at":"2026-01-13T21:57:02.707Z","avatar_url":"https://github.com/voight-dev.png","language":"TypeScript","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/voight-dev/voight/refs/heads/main/resources/icon-w-bg.png\" alt=\"Voight\" width=\"128\" height=\"128\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eVoight\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  Track and review AI-generated code in VS Code.\n  \u003cbr\u003e\n  \u003ca href=\"https://voight.dev\"\u003evoight.dev\u003c/a\u003e\n\u003c/p\u003e\n\n## What It Does\n\nVoight detects code insertions from AI assistants and organizes them into reviewable segments. When you're moving fast with AI-assisted development, it keeps you oriented without requiring you to stop.\n\n## Features\n\n### Timeline View\n\nSee all AI-generated segments across your workspace in chronological order. Switch between viewing all files or focus on a single file. Each segment shows when it was created and which file it belongs to.\n\n![Timeline View](https://raw.githubusercontent.com/voight-dev/voight/refs/heads/main/resources/timeline-view.png)\n\n### All Files View\n\nWhen working across multiple files, the \"All Files\" view shows every detected segment with file switching indicators. Easily track the sequence of AI edits across your entire project.\n\n![All Files Timeline](https://raw.githubusercontent.com/voight-dev/voight/refs/heads/main/resources/all-timeline-view.png)\n\n### Complexity Indicators\n\nEach segment displays cyclomatic complexity scores. Higher scores indicate denser control flow - useful for identifying code that may need closer review or refactoring.\n\n![Complexity Indicators](https://raw.githubusercontent.com/voight-dev/voight/refs/heads/main/resources/complexity.png)\n\n### Diff View\n\nExpand any segment to see what changed. The diff view highlights additions and removals, showing exactly what the AI modified in your code.\n\n![Diff View](https://raw.githubusercontent.com/voight-dev/voight/refs/heads/main/resources/diff-view.png)\n\n### AI Explanations (BYOK)\n\nRequest an AI explanation for any segment using your own API key. Get a breakdown of what the code does, how it works, and what to watch out for - independent of the AI that generated it.\n\n![AI Explanation](https://raw.githubusercontent.com/voight-dev/voight/refs/heads/main/resources/ai-explanation.png)\n\n### Context Notes\n\nAttach notes to any segment. Flag code for review, document your intent, or leave reminders for yourself. Notes persist with the segment and help you stay organized.\n\n![Add Context](https://raw.githubusercontent.com/voight-dev/voight/refs/heads/main/resources/add-context.png)\n\n## Installation\n\n### From Marketplace\n\n```\next install voight-dev.voight\n```\n\nOr search \"Voight\" in the VS Code Extensions panel.\n\n### From Source\n\n```bash\ngit clone https://github.com/voight-dev/voight.git\ncd voight\npnpm install\npnpm package:prod\ncode --install-extension voight-0.0.5-prod.vsix\n```\n\n## Configuration\n\n### Detection\n\n| Setting | Default | Description |\n|---------|---------|-------------|\n| `voight.detection.minCharacters` | 50 | Minimum characters for insertion detection |\n| `voight.detection.minLines` | 2 | Minimum lines for multi-line detection |\n| `voight.detection.semanticExpansion` | none | Context expansion: `none`, `minimal`, `balanced`, `maximum` |\n| `voight.detection.excludePatterns` | See below | Glob/regex patterns to exclude |\n\nDefault exclusions: `**/*.min.js`, `**/*.min.css`, `**/dist/**`, `**/build/**`, `**/node_modules/**`, `**/.git/**`\n\nRegex patterns use `!` prefix: `!/test\\d+\\.js$/`\n\n### AI Provider\n\n| Setting | Default | Description |\n|---------|---------|-------------|\n| `voight.ai.provider` | gemini | `gemini`, `anthropic`, or `openai` |\n| `voight.ai.apiKey` | - | API key for chosen provider |\n| `voight.ai.maxTokens` | 2048 | Response token limit (256-8192) |\n\nThe extension automatically selects the best available model from your provider.\n\n### Debug\n\n| Setting | Default | Description |\n|---------|---------|-------------|\n| `voight.debug.enabled` | true | Verbose logging |\n| `voight.debug.saveDebugData` | false | Save debug JSON to `.voight-debug/` |\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `Voight: Health Check` | Run diagnostics |\n| `Voight: Show Paste Detection Stats` | Detection statistics |\n| `Voight: Show Block Statistics` | Segment counts and metrics |\n| `Voight: Clear All Blocks` | Remove all segments |\n| `Voight: Show Current File Blocks` | List segments in active file |\n| `Voight: Show All Context Notes for File` | Browse annotations |\n| `Voight: Show Top Edited Files` | Files ranked by edit frequency |\n| `Voight: Show File Tracking Statistics` | Edit analytics |\n| `Voight: Export File Rankings` | Export as JSON |\n| `Voight: Show Current File Tracking` | Tracking info for active file |\n| `Voight: Clear File Tracking Data` | Reset analytics |\n| `Voight: Show Shadow GC Statistics` | Memory management stats |\n| `Voight: Run Garbage Collection Now` | Force garbage collection |\n\n## Supported Languages\n\nComplexity analysis: TypeScript, JavaScript, Python, Go\n\nDetection works with any text file.\n\n## Development\n\n```bash\ngit clone https://github.com/voight-dev/voight.git\ncd voight\npnpm install\n```\n\n```bash\npnpm compile       # Type check + lint + build\npnpm watch         # Watch mode\npnpm package:dev   # Development build with sourcemaps\npnpm package:prod  # Production build (minified, debug disabled)\npnpm test          # Run tests\npnpm dev-install   # Install locally, then reload VS Code\n```\n\n## Releasing\n\nThe release script automates version bumping, building, git tagging, and pushing.\n\n```bash\n# Automatic version bumps (follows semver)\npnpm release:patch   # 0.0.5 -\u003e 0.0.6\npnpm release:minor   # 0.0.5 -\u003e 0.1.0\npnpm release:major   # 0.0.5 -\u003e 1.0.0\n\n# Manual version override\npnpm release 0.2.0   # Set specific version\n\n# Dry run (preview without making changes)\npnpm release:dry patch\n```\n\nThe release script will:\n1. Update `package.json` version\n2. Build production vsix (`voight-x.y.z-prod.vsix`)\n3. Create git commit (`chore(release): vx.y.z`)\n4. Create git tag (`vx.y.z`)\n5. Push commit and tag to origin\n\n## Credits\n\nComplexity analysis ported from [Lizard](https://github.com/terryyin/lizard) by Terry Yin.\n\n## License\n\nMIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoight-dev%2Fvoight","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoight-dev%2Fvoight","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoight-dev%2Fvoight/lists"}