Skip to main content

Local-first dependency decision CLI for JS/TS projects

Project description

🚀 Depsly

Depsly is a local-first dependency decision CLI for JavaScript/TypeScript projects.

It helps you answer:

  • What dependencies actually matter?
  • What should I review first?
  • Why is this transitive package even here?
  • What happens if I remove something?

🧠 Why Depsly

Most dependency tools focus on:

  • vulnerabilities
  • compliance
  • audit reports

Depsly focuses on:

Decision-making

It combines:

  • dependency graph analysis
  • structural impact simulation
  • feasibility-aware recommendations

So you can decide where to spend your time.


✨ What Depsly Does

  • Builds a full dependency graph from package-lock.json
  • Analyzes structural risk (depth, fanout, transitive exposure)
  • Ranks dependencies by impact × actionability
  • Explains why transitive dependencies exist
  • Simulates structural impact of removing packages
  • Runs entirely locally (no code upload required)

⚡ Install

Recommended (pipx)

pipx install depsly

If needed:

pipx install --python python3.11 depsly

Alternative (pip)

pip install depsly

🚀 Quick Start

Analyze your dependency graph

depsly analyze package-lock.json

Get prioritized recommendations

depsly recommend package-lock.json

Trace why a package exists

depsly trace package-lock.json @babel/core@7.29.0

Preview structural impact of removal

depsly simulate-remove package-lock.json eslint@9.39.4

🧪 Example Output

Depsly Recommendations
Project: frontend
Packages analyzed: 204

1. eslint@9.39.4
   Action: REVIEW
   Actionability: MEDIUM
   Reason confidence: HIGH
   Impact: 35%
   Classification: Direct (dev dependency)

   Why:
     - Direct dev dependency (user-controlled)
     - Structural impact: 35% (71 packages)

🧭 How to Read the Output

Action

What Depsly suggests:

  • REVIEW → investigate before changing
  • REMOVE → strong candidate to remove
  • TRACE_UPSTREAM → change parent dependency instead
  • DEFER → low priority

Actionability

How easy it is to change:

  • HIGH → easy to modify
  • MEDIUM → moderate effort
  • LOW → difficult or risky

Impact

Percentage of your dependency graph affected.


Reason confidence

How strong the structural signal is:

  • HIGH → direct + clear signals
  • MEDIUM → inferred from structure
  • LOW → limited information

🔁 Typical Workflow

analyze → recommend → trace → simulate-remove

⚠️ Important

Structural analysis only.
Does not guarantee install, build, or runtime correctness.


🔐 Why Local-First Matters

  • No source code upload
  • No account required
  • No rate limits
  • Fully deterministic

🎯 Philosophy

Depsly is not a scanner.

It is a:

Dependency decision support system


📚 Docs

See DOCUMENTATION_INDEX.md for deeper details.


🚧 Status

Early release (v0.1.0)

Core features are stable:

  • analyze
  • recommend
  • trace
  • simulate-remove

💬 Feedback

If you try Depsly on your project, I’d love to hear:

  • what felt useful
  • what felt off
  • what you expected but didn’t see

🏁 Summary

Depsly helps you move from:

“I have 200 dependencies…”

to:

“Here’s exactly what I should look at first.”

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

depsly-0.1.0.tar.gz (32.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

depsly-0.1.0-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file depsly-0.1.0.tar.gz.

File metadata

  • Download URL: depsly-0.1.0.tar.gz
  • Upload date:
  • Size: 32.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for depsly-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dd69d8334f3bf6955e517799fa2ae27f7b790c3f6ecceff7a686aa259ca300f7
MD5 e5996cfe0a13575f39be9c74b112bb3d
BLAKE2b-256 dd28d7e059ca406e1f4e5ea9f2df68abf393b35ba9e832ecb62be20e4e947f70

See more details on using hashes here.

File details

Details for the file depsly-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: depsly-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for depsly-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0c015f1759860fe4dd700b3d9271d6676c2ecb575f92d6dcb339284f58723344
MD5 d1a98edca683ffed5e0d8f1e74af01e6
BLAKE2b-256 5506d21d95dd8de9b9a4a4db32c179e3dc60bd7cf32d7369a88ab5a3c777ce9b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page