{"id":45543407,"url":"https://github.com/vcode-sh/depfresh","last_synced_at":"2026-04-02T19:14:39.940Z","repository":{"id":340053444,"uuid":"1164090458","full_name":"vcode-sh/depfresh","owner":"vcode-sh","description":"depfresh. Spiritual successor to taze. Keep your npm dependencies fresh. Fast, correct, zero-config.","archived":false,"fork":false,"pushed_at":"2026-03-29T02:05:20.000Z","size":713,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-29T04:33:22.574Z","etag":null,"topics":["ai","automation","cli","dependencies","depfresh","json","machine-readable","monorepo","npm","taze","update","workspace"],"latest_commit_sha":null,"homepage":"","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/vcode-sh.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","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},"funding":{"github":"vcode-sh"}},"created_at":"2026-02-22T16:17:28.000Z","updated_at":"2026-03-29T02:05:23.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/vcode-sh/depfresh","commit_stats":null,"previous_names":["vcode-sh/depfresh"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/vcode-sh/depfresh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vcode-sh%2Fdepfresh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vcode-sh%2Fdepfresh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vcode-sh%2Fdepfresh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vcode-sh%2Fdepfresh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vcode-sh","download_url":"https://codeload.github.com/vcode-sh/depfresh/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vcode-sh%2Fdepfresh/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31314181,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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","automation","cli","dependencies","depfresh","json","machine-readable","monorepo","npm","taze","update","workspace"],"created_at":"2026-02-23T04:28:38.021Z","updated_at":"2026-04-02T19:14:39.934Z","avatar_url":"https://github.com/vcode-sh.png","language":"TypeScript","funding_links":["https://github.com/sponsors/vcode-sh"],"categories":[],"sub_categories":[],"readme":"# depfresh\n\n[![npm version](https://img.shields.io/npm/v/depfresh)](https://www.npmjs.com/package/depfresh)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.9+-3178c6)](https://www.typescriptlang.org/)\n[![Node.js](https://img.shields.io/badge/Node.js-24+-339933)](https://nodejs.org/)\n\nKeep your dependencies fresh. Taze alternative. Zero config, fast, monorepo-ready. Your AI agent already knows how to use this.\n\n## Install\n\n### One-off run (no install needed)\n\n```bash\nnpx depfresh\npnpm dlx depfresh\nbunx depfresh\nyarn dlx depfresh\n```\n\n### Global install\n\n```bash\nnpm install -g depfresh\npnpm add -g depfresh\nbun add -g depfresh\nyarn global add depfresh\n```\n\n### Local devDependency (recommended for team + CI)\n\n```bash\nnpm install -D depfresh\npnpm add -D depfresh\nbun add -D depfresh\nyarn add -D depfresh\n```\n\n| If you want... | Use | Example |\n| --- | --- | --- |\n| Run once in any repo | One-off | `npx depfresh` / `pnpm dlx depfresh` / `bunx depfresh` |\n| Always available on your machine | Global | `npm install -g depfresh` |\n| Pinned for team/CI consistency | Local devDep | `npm install -D depfresh` |\n\n## Quick Start\n\n```bash\n# What's outdated?\ndepfresh\n\n# Update everything\ndepfresh --write\n\n# Interactive -- pick what to update\ndepfresh -I\n\n# JSON output for scripts and AI agents\ndepfresh --output json\n\n# Only minor/patch (living cautiously)\ndepfresh minor -w\n\n# CI: fail if anything is outdated\ndepfresh --fail-on-outdated\n```\n\n## Features\n\n- **Zero config** -- run `depfresh` and it works. No YAML. No PhD.\n- **Monorepo \u0026 workspace support** -- pnpm, bun, yarn, npm. Auto-detected. Catalogs included.\n- **7 range modes** -- `default`, `major`, `minor`, `patch`, `latest`, `newest`, `next`\n- **Interactive cherry-picking** -- grouped multiselect with colour-coded severity\n- **Per-package modes** -- `packageMode` with exact, glob, or regex patterns per dependency\n- **Write safely** -- `--write` updates files. `--verify-command` tests each dep and reverts failures.\n- **Post-write hooks** -- `--execute`, `--install`, `--update`. Chain commands after writing.\n- **Global packages** -- `--global` for one manager, `--global-all` scans npm + pnpm + bun (deduped)\n- **Private registries** -- full `.npmrc` support. Scoped registries, auth tokens, env vars.\n- **GitHub dependencies** -- `github:owner/repo#tag` with protocol-preserving writes\n- **JSON output** -- structured envelope for scripts and AI agents. No ANSI noise.\n- **CI mode** -- `--fail-on-outdated` exits with code 1. Plug it into your pipeline.\n- **SQLite cache** -- WAL mode, 30min TTL, auto-fallback to memory\n- **Provenance tracking** -- warnings for unsigned or downgraded attestations\n- **Node engine compat** -- flags updates that don't match your Node version\n- **Cooldown filter** -- skip versions published less than N days ago\n- **Programmatic API** -- lifecycle callbacks + addon system for custom workflows\n\nFull CLI reference: **[docs/cli/](docs/cli/)**\n\n## Configuration\n\nZero config works. But if you want it:\n\n```typescript\nimport { defineConfig } from 'depfresh'\n\nexport default defineConfig({\n  mode: 'minor',\n  exclude: ['typescript'],\n  packageMode: {\n    'eslint': 'latest',\n    '/^@types/': 'patch',\n  },\n})\n```\n\nSupports `depfresh.config.ts`, `.depfreshrc`, or a `depfresh` key in `package.json`. Full reference: **[docs/configuration/](docs/configuration/)**\n\n## Monorepo Support\n\ndepfresh auto-detects pnpm, bun, yarn, and npm workspaces -- no config needed. Workspace catalogs (`pnpm-workspace.yaml`, bun catalogs, yarn `.yarnrc.yml` catalogs) are resolved and updated in-place alongside your package manifests.\n\nDetails: **[docs/configuration/workspaces.md](docs/configuration/workspaces.md)**\n\n## AI Agent Friendly\n\ndepfresh was built for humans and machines. `--output json` emits a structured envelope. `--help-json` returns the full CLI contract (flags, enums, exit codes, agent workflows). Exit codes are semantic: `0` = up to date, `1` = updates available, `2` = error. Non-TTY environments automatically suppress spinners and interactive prompts.\n\nDetails: **[docs/agents/README.md](docs/agents/README.md)**\n\n## Coming from taze?\n\ndepfresh is a spiritual successor to [taze](https://github.com/antfu/taze) by Anthony Fu -- a tool that did the job well until maintenance slowed and issues piled up. depfresh rewrites everything from scratch, fixes long-standing bugs (private registries, bun catalogs, packageMode precedence), and adds structured JSON output, verify-and-rollback, SQLite caching, and proper AI agent support.\n\nMigration guide: **[docs/compare/from-taze.md](docs/compare/from-taze.md)** | Full comparison: **[docs/compare/](docs/compare/)**\n\n## Documentation\n\n- **[CLI Reference](docs/cli/)** -- flags, modes, sorting, filtering, hooks, interactive, CI\n- **[Configuration](docs/configuration/)** -- config files, options, packageMode, private registries, cache\n- **[Programmatic API](docs/api/)** -- functions, lifecycle callbacks, addon plugins, types\n- **[Output Formats](docs/output-formats/)** -- table, JSON, exit codes\n- **[Agent Workflows](docs/agents/README.md)** -- quickstarts for AI coding assistants\n- **[Integrations](docs/integrations/README.md)** -- GitHub Actions and MCP wrapper guidance\n- **[Compare](docs/compare/)** -- coverage matrix, migration guide, solved issues\n- **[Troubleshooting](docs/troubleshooting.md)** -- common issues, workspace gotchas, known limitations\n\n## Standing on the Shoulders of People Who Actually Did the Work\n\ndepfresh wouldn't exist without [taze](https://github.com/antfu/taze). I rewrote everything from scratch, yes, but \"from scratch\" is easy when someone else already figured out what the thing should do. Every bug report, every feature PR, every typo fix in the taze repo was a free lesson in what users actually need. I just took notes and built a new house on someone else's blueprint.\n\nSo here's to every contributor who opened a PR on taze. Some of you added features I shamelessly reimplemented. Some of you fixed bugs that taught me where the landmines were. Some of you fixed typos, and honestly, that's braver than any architecture decision I've ever made.\n\nCheers to all of you. I owe you mass-produced coffee at minimum.\n\n\u003c!-- Contributors listed alphabetically by GitHub username, because favouritism is for people with better social skills than me --\u003e\n\n[a1mer](https://github.com/a1mersnow) · [Alex Liu](https://github.com/LarchLiu) · [Arash Sheyda](https://github.com/arashsheyda) · [await-ovo](https://github.com/await-ovo) · [Aymane Dara Hlamnach](https://github.com/azuradara) · [azaleta](https://github.com/azaleta) · [Benny Powers](https://github.com/bennypowers) · [Bruno Rocha](https://github.com/orochaa) · [btea](https://github.com/btea) · [Carter](https://github.com/Fyko) · [Charles](https://github.com/CharlesOkwuagwu) · [Daniel Bayley](https://github.com/danielbayley) · [Daniel Schmitz](https://github.com/blouflashdb) · [Dreamacro](https://github.com/Dreamacro) · [Duncan Lock](https://github.com/dflock) · [Dunqing](https://github.com/Dunqing) · [Eneko Rodr\u0026iacute;guez](https://github.com/Nisgrak) · [Enzo Innocenzi](https://github.com/innocenzi) · [Eugene](https://github.com/outslept) · [Geoffrey Parrier](https://github.com/GeoffreyParrier) · [Han](https://github.com/hannoeru) · [Harry Yep](https://github.com/okisdev) · [Hassan Zahirnia](https://github.com/HassanZahirnia) · [hyrious](https://github.com/hyrious) · [iiio2](https://github.com/iiio2) · [Iridescent](https://github.com/Iridescent-cdu) · [Jakub Zomerfeld](https://github.com/devzom) · [Jaw](https://github.com/jaw52) · [jinghaihan](https://github.com/jinghaihan) · [Joaqu\u0026iacute;n S\u0026aacute;nchez](https://github.com/userquin) · [Johan Lindskogen](https://github.com/lindskogen) · [Julien Calixte](https://github.com/jcalixte) · [Kerman](https://github.com/kermanx) · [Kevin Deng](https://github.com/sxzz) · [Khalil Yao](https://github.com/yyz945947732) · [Kirk Lin](https://github.com/kirklin) · [Lo](https://github.com/LoTwT) · [Loann Neveu](https://github.com/lneveu) · [Lochlan Bunn](https://github.com/loklaan) · [mancuoj](https://github.com/mancuoj) · [Maxime Dubourg](https://github.com/mdubourg001) · [Nam Nguyen](https://github.com/willnguyen1312) · [ntnyq](https://github.com/ntnyq) · [Patryk Tomczyk](https://github.com/patzick) · [pdx](https://github.com/pdx-xf) · [Pier Dolique](https://github.com/Perdolique) · [RainbowBird](https://github.com/luoling8192) · [Renato Lacerda](https://github.com/ralacerda) · [rg](https://github.com/Gehbt) · [Riri](https://github.com/Daydreamer-riri) · [Runyasak Chaengnaimuang](https://github.com/runyasak) · [sapphi-red](https://github.com/sapphi-red) · [simexce](https://github.com/simexce) · [Simon He](https://github.com/Simon-He95) · [sinoon](https://github.com/sinoon) · [Stephen Zhou](https://github.com/hyoban) · [Sukka](https://github.com/SukkaW) · [Takuya Fukuju](https://github.com/chalkygames123) · [Tanimodori](https://github.com/Tanimodori) · [Tom\u0026aacute;s Hern\u0026aacute;ndez](https://github.com/THernandez03) · [tyler](https://github.com/tylersayshi) · [Vladislav Deryabkin](https://github.com/evermake) · [wChenonly](https://github.com/wChenonly) · [webdiscus](https://github.com/webdiscus) · [Wind](https://github.com/productdevbook) · [wuchao](https://github.com/jerrywu001) · [younggglcy](https://github.com/younggglcy) · [Yu Le](https://github.com/yuler)\n\n## License\n\nMIT - [Vibe Code](https://vcode.sh)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvcode-sh%2Fdepfresh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvcode-sh%2Fdepfresh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvcode-sh%2Fdepfresh/lists"}