Skip to main content

License: MIT

DevNog — Developer's Bulletproofing Toolkit

One scan. One click. One fix. Ship with confidence.

DevNog is a Python CLI + localhost dashboard + lightweight SDK that makes any codebase bulletproof. It doesn't just find problems — it fixes them.

pip install devnog

No accounts. No hosting. No cloud. Everything runs locally.


Quick Start (under 60 seconds)

# Install
pip install devnog

# Scan your project
cd your-project
devnog scan

# See the report → fix everything safe → score goes up
devnog fix --all

# Rescan to see your new score
devnog scan

That's it. Your codebase just got safer.


All CLI Commands

devnog scan — Find every issue

devnog scan                        # Scan current directory
devnog scan ./src                  # Scan specific directory
devnog scan project.zip            # Scan a zip file
devnog scan https://github.com/user/repo  # Scan a GitHub repo
devnog scan --fail-under 70        # CI mode: fail if score below threshold
devnog scan --export json          # Export report as JSON
devnog scan --export html          # Export report as HTML
devnog scan --only security        # Scan only specific categories
devnog scan --fix                  # Scan and auto-fix in one step
devnog scan --dashboard            # Scan and open dashboard

38 built-in checks across 4 categories:

Category Checks What It Finds
Security SEC-001 to SEC-012 Hardcoded secrets, SQL injection, eval(), weak hashing, open CORS, DEBUG=True, subprocess shell=True
Code Quality CQ-001 to CQ-010 Long functions, deep nesting, unused imports, duplicate code, missing type hints, star imports, dead code
Error Handling ERR-001 to ERR-008 Bare except, silent errors, missing timeouts, unhandled I/O, no global handler
Dependencies DEP-001 to DEP-008 Known CVEs, abandoned packages, unpinned deps, unused packages, outdated versions

devnog fix — Fix every issue

devnog fix SEC-001                 # Fix a specific issue
devnog fix SEC-001 --preview       # Preview without applying
devnog fix --all                   # Fix all auto-fixable issues
devnog fix --all -y                # Fix all without confirmation
devnog fix --category security     # Fix all security issues
devnog fix ERR-004 --ai            # Use AI for complex fix (requires ANTHROPIC_API_KEY)
devnog fix --target ./src          # Fix issues in specific directory

Every fix shows a diff before applying. All fixes are reversible.

devnog undo — Reverse any fix

devnog undo SEC-001                # Undo a specific fix
devnog undo --last                 # Undo all fixes from last session
devnog undo --list                 # List all undoable fixes

devnog qa — Validate production readiness

devnog qa                          # Full readiness check (25 checks)
devnog qa ./src                    # Check specific directory
devnog qa --fix                    # Auto-fix readiness gaps
devnog qa --strict                 # CI mode: fail if not ready

Checks what tests don't cover: timeouts, retry logic, circuit breakers, transaction handling, structured logging, and more.

devnog dashboard — Visual web UI

devnog dashboard                   # Opens http://localhost:7654
devnog dashboard --port 8080       # Custom port
devnog dashboard --no-open         # Start without opening browser

The dashboard provides:

  • Report Card tab — Overall score with category breakdown, clickable [FIX] buttons on every issue
  • QA Gate tab — Production readiness verdict (PASS / CONDITIONAL PASS / FAIL)
  • Runtime tab — Captured failures from Guardian decorators
  • History tab — Fix history with [UNDO] buttons
  • Fix modal — Diff view with confidence indicator, side effects, and manual steps
  • Fix All button — One click to apply all safe fixes
  • URL scanner — Paste a GitHub URL to scan any public repo

devnog guardian — Runtime protection status

devnog guardian                    # Show Guardian status
devnog guardian --status           # Same as above
devnog guardian --audit            # Show healing audit log (Pro)
devnog guardian --report           # Show runtime failure report
devnog history                     # Show score history
devnog history --days 30           # Last 30 days
devnog history --json              # JSON output

devnog compliance — Compliance reports (Enterprise)

devnog compliance                         # Generate OWASP Top 10 report
devnog compliance --framework soc2        # SOC2 compliance report
devnog compliance --export pdf            # Export as PDF

Decorator Usage

@capture — Lightweight failure capture

from devnog import capture

@capture
def risky_calculation(data):
    return sum(d / normalize(d) for d in data)

When risky_calculation fails, DevNog saves a complete snapshot — args, local variables, stack trace, timestamp — to .devnog/captures.db. Sensitive data is automatically redacted.

@checkpoint — Resume from last successful step

from devnog import checkpoint

@checkpoint
def long_pipeline(data, _ckpt=None):
    step1_result = expensive_step_1(data)
    _ckpt.save("step1", {"result": step1_result})

    step2_result = expensive_step_2(step1_result)
    _ckpt.save("step2", {"result": step2_result})

    return step2_result

If the function fails mid-way, DevNog can replay from the last checkpoint. Accept _ckpt as a parameter to save intermediate state.

@healable — Self-healing functions (Pro)

from devnog import healable

@healable(retries=3, backoff=True, fallback="skip")
async def call_external_api(payload):
    response = await httpx.post(url, json=payload)
    return response.json()

On Free tier, @healable captures failures but re-raises them (observe-only mode). On Pro tier, it adds retry with exponential backoff, fallback strategies, and pattern detection.


Guardian Setup

FastAPI / Starlette

from fastapi import FastAPI
from devnog import guard

app = FastAPI()
guard(app)  # Adds ASGI middleware for request failure capture

Context manager

from devnog import guardian_context

async with guardian_context():
    await do_something_risky()

Configuration

from devnog import guardian_config

guardian_config(
    capture_args=True,
    capture_locals=True,
    max_captures=1000,
    redact_patterns=["password", "token", "secret"],
)

Configuration

Create devnog.toml in your project root. Everything is optional — sensible defaults are built in:

[scan]
fail_under = 70                    # CI threshold
categories = ["code_quality", "security", "error_handling", "dependencies"]
exclude = ["tests/", "migrations/", "venv/"]

[scan.code_quality]
max_function_length = 75           # Lines per function
max_nesting_depth = 5              # Max nesting levels
max_complexity = 15                # Cyclomatic complexity

[fix]
backup_before_fix = true           # Save backups to .devnog/backups/

[dashboard]
port = 7654

[guardian]
capture_args = true
capture_locals = true
redact_patterns = ["password", "token", "secret", "key", "auth"]

Tiers

Tier Price What's Included
Free $0 forever Scanner (38 checks), rule-based fixes, QA Gate (25 checks), observe-only Guardian, capture decorators, dashboard
Pro Coming soon Everything Free + Guardian auto-healing, pattern detection, healing audit log, @healable retry/backoff
Enterprise Coming soon Everything Pro + enforced team config, CI/CD scan diffs, historical trending, OWASP/SOC2 compliance reports

Set your license key:

export DEVNOG_LICENSE_KEY="your-key-here"
# Or save to .devnog/license.key

AI-Powered Fixes

For complex issues that can't be fixed by rules alone, DevNog uses Claude:

pip install devnog[ai]
export ANTHROPIC_API_KEY="sk-ant-..."
devnog fix SEC-002 --ai

AI fixes include confidence scores, side effect warnings, and manual follow-up steps.


Safety

  • DevNog never modifies code without showing you the diff first
  • All fixes are reversible via devnog undo
  • Backups saved to .devnog/backups/ before every fix
  • First time running fixes? DevNog shows preview-only mode with no changes applied
  • The .devnog/ directory is auto-added to .gitignore

Dependencies

Only 3 required dependencies:

  • click — CLI framework
  • rich — Terminal formatting
  • cryptography — Fernet encryption for capture storage

Optional extras:

pip install devnog[ai]          # anthropic — AI-powered fixes
pip install devnog[guardian]     # starlette — ASGI middleware
pip install devnog[enterprise]  # reportlab — PDF compliance reports
pip install devnog[all]         # Everything

DevNog Pro — Coming Soon

Auto-healing runtime protection. Pattern detection across failures. Full healing audit trail.

Sign up for early access: https://devnog.dev/pro


License

MIT License. See LICENSE for details.

Metadata

Release files for devnog 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for devnog 0.1.0
File Size Uploaded
devnog-0.1.0.tar.gz 153.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for devnog 0.1.0
File Interpreter ABI Platform
devnog-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 280.8 kB

Release files / devnog-0.1.0.tar.gz

Download URL devnog-0.1.0.tar.gz
Size 153.4 kB
Tags Source
SHA-256 checksum
How to use checksums
85c98a72872569c9813920e519eb7f4454d25e87e1ad0c640586e106282a3f3d
BLAKE2b-256 checksum
How to use checksums
c359a5ba7d172f23f394bcbf0fe9baa39b194b4c4a246abf5ff128e4329cd796
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 8, 2026.

Transparency log

Release files / devnog-0.1.0-py3-none-any.whl

Download URL devnog-0.1.0-py3-none-any.whl
Size 127.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0c42eefcde5ae065b61bfc88f2f6b35b39c03ed2e45e2d1e41718d062426a6e0
BLAKE2b-256 checksum
How to use checksums
9c5e3caf573b73de1affcf3f45f38839f2a5bc628f729efbd1f3f8f9b8071ed7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page