{"id":50927258,"url":"https://github.com/zanni098/ai-code-reviewer-memory","last_synced_at":"2026-06-17T00:04:08.929Z","repository":{"id":354653366,"uuid":"1224580584","full_name":"zanni098/ai-code-reviewer-memory","owner":"zanni098","description":"GitHub PR reviewer that learns repo conventions with persistent memory and structured AI review output.","archived":false,"fork":false,"pushed_at":"2026-04-29T12:26:26.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-29T14:38:28.187Z","etag":null,"topics":["ai-workflow","llm","mindrift","portfolio","typescript"],"latest_commit_sha":null,"homepage":"https://zanni098.github.io/ai-code-reviewer-memory/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zanni098.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2026-04-29T12:25:21.000Z","updated_at":"2026-04-29T12:26:30.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/zanni098/ai-code-reviewer-memory","commit_stats":null,"previous_names":["zanni098/ai-code-reviewer-memory"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/zanni098/ai-code-reviewer-memory","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zanni098%2Fai-code-reviewer-memory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zanni098%2Fai-code-reviewer-memory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zanni098%2Fai-code-reviewer-memory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zanni098%2Fai-code-reviewer-memory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zanni098","download_url":"https://codeload.github.com/zanni098/ai-code-reviewer-memory/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zanni098%2Fai-code-reviewer-memory/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34428197,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-16T02:00:06.860Z","response_time":126,"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":["ai-workflow","llm","mindrift","portfolio","typescript"],"created_at":"2026-06-17T00:04:02.137Z","updated_at":"2026-06-17T00:04:08.922Z","avatar_url":"https://github.com/zanni098.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Code Reviewer with Memory\n\nA GitHub PR reviewer that learns a repository's conventions over time.\n\nThis repository is part of Asad Jehan Zeb's AI workflow engineering portfolio for freelance AI automation roles, especially the Mindrift AI Workflow Engineer track. It is designed to show how an LLM product can be structured as a repeatable workflow instead of a one-off chat prompt.\n\n## Live demo\n\nAfter GitHub Pages is enabled for this repository, the demo is available at:\n\n`https://zanni098.github.io/ai-code-reviewer-memory/`\n\nThe hosted demo runs as a browser-safe simulation so it can be reviewed without private API keys. The architecture is ready to connect to real providers by adding the environment variables shown in `.env.example`.\n\n## What it demonstrates\n\n- Webhook-driven review workflow with HMAC validation, diff parsing, memory retrieval, structured LLM comments, and post-merge feedback signals.\n- Clear prompt-chain stages that can be tested and improved independently.\n- Structured outputs that are suitable for downstream automation.\n- A production-facing UI that explains the workflow by letting a reviewer run the pipeline.\n- Documentation written for a client, hiring manager, or technical reviewer.\n\n## Workflow\n\n1. Validate GitHub webhook signature\n2. Parse changed files and hunks\n3. Retrieve matching style rules from SQLite memory\n4. Ask model for structured review findings\n5. Post inline PR comments through Octokit\n6. Update memory confidence after merge\n\n## Why this matters for Mindrift\n\nShows API integration, prompt frameworks, structured JSON outputs, persistent memory, and feedback loops for improving AI workflow quality.\n\nMindrift's Tendem-style work depends on reliable multi-step automations: data comes in messy, gets enriched, passes through prompt frameworks, returns structured artifacts, and improves through evaluation. This project is intentionally built around that pattern.\n\n## Tech stack\n\n- TypeScript\n- Node.js\n- Express/Hono\n- SQLite\n- Octokit\n- LLM structured output\n\n## Architecture\n\n```text\nGitHub webhook -\u003e HMAC guard -\u003e diff normalizer -\u003e memory retriever -\u003e review prompt -\u003e JSON validator -\u003e PR comment publisher -\u003e learning updater\n```\n\n## Local development\n\n```bash\nnpm install\nnpm run dev\n```\n\nBuild for production:\n\n```bash\nnpm run build\n```\n\nPreview the production build:\n\n```bash\nnpm run preview\n```\n\n## Environment\n\nCopy `.env.example` to `.env.local` if you want to connect live APIs. The public demo does not require these values.\n\n## Deployment\n\nThis repo includes `.github/workflows/pages.yml`. On every push to `main`, GitHub Actions builds the Vite app and deploys `dist/` to GitHub Pages.\n\nIf Pages is not active yet:\n\n1. Open repository settings.\n2. Go to Pages.\n3. Set source to GitHub Actions.\n4. Re-run the `Deploy GitHub Pages` workflow.\n\n## About Asad\n\nAsad Jehan Zeb is a project manager and developer from Mardan, Pakistan. He led E-study card from idea to product, generating roughly $50,000 in revenue through government education digitalization work, and is building Mjord, an agentic AI installation service for non-technical users.\n\nThis project exists to make that AI workflow experience visible in public GitHub form.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzanni098%2Fai-code-reviewer-memory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzanni098%2Fai-code-reviewer-memory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzanni098%2Fai-code-reviewer-memory/lists"}