๐ ๏ธ Backend Helper (bck-nd-hlpr)
The Backend Helper: CLI Context & MCP Tooling for AI and Humans
bck-nd-hlpr is a lightweight Python CLI utility designed to bridge the gap between back-end codebases, human developers, and AI agents. It acts as a context provider โ extracting structural architecture, tracking product requirements, generating visual diagrams (such as Mermaid.js charts), and facilitating Model Context Protocol (MCP) interactions.
๐ฆ Release Status
v2.4.3 โ Current Stable Release
v2.4.3 is the current stable patch release, extending the Four Pillars and Requirements Intelligence layer with compiled-backend UML, polyglot monorepo detection, requirement status workflows, measurable AI context savings, machine-readable scans, and fully offline project documentation.
All changes listed below are implemented and verified by the full test suite.
Verified changes โ Sprint 1
- Added โ Go UML: extracts
.gostructs, typed fields, receiver methods, and interfaces through an optional Tree-sitter visitor plus a safe balanced-brace fallback. - Added โ Rust UML: extracts
.rsstructs, enums, impl methods, and traits with the same visitor/fallback safety model. - Added โ Polyglot Monorepos: detects distinct frameworks in common frontend/backend, client/server, apps, packages, web, and API layouts.
- Changed โ Framework routing: Gin, Fiber, Go, Actix-web, Actix, Rocket, and Rust route directly to their compiled-language UML extractors.
- Changed โ ASG parity: Go/Rust classes and interface semantics now flow into the Abstract Semantic Graph with language metadata.
- Verified: 272 tests passing after the Sprint 1 integration.
Verified changes โ Sprint 2
- Added โ Requirement status workflow:
bck-nd req status <STORY_ID> <STATUS>(aliasset-status) updates JSON or Markdown stories using the acceptedTODO,IN_PROGRESS,TESTING,DONE, andBLOCKEDstates. - Added โ AI context metrics: every
bck-nd promptexport reports its estimated token count, generated context size, raw non-ignored source size, and context savings percentage. - Preserved โ Requirement sources: Markdown updates modify only the story status badge while retaining sections, formatting, line endings, and existing content; JSON is normalized to clean two-space indentation.
- Verified: 286 tests passing after the Sprint 2 integration.
Verified changes โ Sprint 3
- Added โ Machine-readable scans:
bck-nd scan . --jsonemits a consolidated CI-friendly payload with framework metadata, ASG, requirements, health, debt, and security findings; focused analysis flags emit their native report structures. - Added โ Direct JSON files: combine
--jsonwith-o result.jsonto write clean indented JSON without terminal banners or status text. - Changed โ Standalone documentation:
bck-nd docsnow generates a responsive, single-file dashboard with embedded offline SVG diagram previews and no font or Mermaid CDN dependency. - Added โ Requirements portal: generated documentation includes a safely escaped requirements section and navigation entry whenever
.bck-nd/requirements/contains stories. - Verified: 296 tests passing after the final v2.4.3 sprint integration.
v2.4.2 โ Previous Stable Release
v2.4.2 completes the first stabilization pass over the Four Pillars and Requirements Intelligence layer:
- Clipboard-ready AI context:
bck-nd prompt . --copy/-cexports directly to the system clipboard without a Python dependency. - Requirements scaffolding:
bck-nd req init <STORY_ID>creates Markdown or JSON story templates, while the standard scan includes a requirements summary. - Unified project metadata: generated cache state lives in
.bck-nd/cache/; versionable specifications remain in.bck-nd/requirements/. - Stronger TypeScript support: Next.js and React
interfaceandtypedeclarations are included in UML/ER extraction. - Safer UML output: real components whose names contain
Emptyare no longer mistaken for empty placeholder diagrams. - Canonical documentation: advanced MCP and requirements documentation now lives in this README.
- Verified quality: 248 tests passing on the v2.4.2 release preparation run.
See CHANGELOG.md for the complete release history.
๐งญ Documentation Map
- Quick Start โ install the CLI and run the main workflows.
- Key Features โ capabilities grouped by purpose.
- Four Pillars Architecture โ cache, providers, ASG, and scoped debt.
- Requirements Intelligence โ create, list, discover, and export user stories.
- Command Manual โ detailed CLI flags and examples.
- MCP Integration โ connect AI clients.
- Advanced Configuration โ client configuration and requirement schemas.
โก Quick Start
pip install -U bck-nd-hlpr
# Confirm the installed release
bck-nd --version
# Scan architecture and generate diagrams
bck-nd scan .
# Emit the complete scan as JSON for CI/CD
bck-nd scan . --json
# Export LLM-ready context (tree + UML + ER + requirements + core files)
bck-nd prompt .
# Or copy that context directly into the system clipboard
bck-nd prompt . --copy
# Scaffold, list, and discover project requirements
bck-nd req init US-001
bck-nd req list
bck-nd req status US-001 IN_PROGRESS
bck-nd req discover US-001
# Connect to Claude Desktop / Cursor (see the Advanced Configuration section)
bck-nd-mcp
๐งญ When to Use What
| Entry point | Best for |
|---|---|
bck-nd scan |
Interactive terminal analysis, diagrams, audits, and reports |
bck-nd prompt |
One-shot AI context file to paste into ChatGPT / Claude |
bck-nd req |
Tracking user stories, acceptance criteria, and stakeholder discovery |
bck-nd-mcp |
Persistent MCP tools inside Claude Desktop or Cursor |
bck-nd explore |
Full-screen TUI to browse and visualize the codebase |
bck-nd docs / init-ci |
Static HTML portal and GitHub Pages automation |
| VS Code Extension | In-editor diagrams, audits, and clipboard context โ see README-EXTENSION.md |
โก Key Features
Detection & Architecture
- ๐ Auto-Detection: Flask, FastAPI, Django, Next.js, Express.js, NestJS, Gin, Fiber, Actix-web, Rocket, and more
- ๐งญ Polyglot Monorepos: Detects distinct frontend/backend frameworks and aggregates project features across common workspace layouts
- ๐งฉ Autonomous Providers: Laravel, FastAPI, Django, Spring Boot, EF Core, and Node.js each ship as self-contained semantic providers
- ๐ญ Architecture Recognition: MVC, Microservices, Layered Architecture patterns
- ๐ Polyglot Ready: C#, Python, JS/TS, Java, PHP, Go, Rust, Docker, Terraform, Prisma, SQL migrations
- โ๏ธ Flexible Config: Customize detection via
pyproject.toml - ๐ Automatic
.gitignoreSupport: Excludes ignored files from scans and context dumps - ๐ฑ Expo/React Native Detection: Appropriate diagramming for mobile projects
Speed & Structure
- โก Incremental Delta Cache:
.bck-nd/cache/delta.jsonpowers sub-0.1s repeat scans; use--no-cachefor a clean run - ๐ Abstract Semantic Graph (ASG): Normalized in-memory architecture graph, queryable by AI agents via MCP
Diagrams & Visualization
- Smart Diagrams: Controllers, Models, Services, Routes โ Unicode or Mermaid output
- ๐งฑ Compiled Backend UML: Go structs/interfaces/receiver methods and Rust structs/enums/traits/impl methods
- ๐จ Visual & Mermaid: Terminal diagrams or copy-paste Mermaid code
- ๐ Auto-Documentation (CI/CD): One-command GitHub Actions setup for living docs (
init-ci) - ๐ด Offline Documentation Portal: Responsive single-file dashboard with embedded SVG fallbacks and requirements
- ๐ Jupyter Notebook Lineage (
--datascience): Data pipeline flowcharts from.ipynbfiles - ๐ง Machine-Readable Scans (
scan --json): Stable JSON reports for CI/CD pipelines and scripts
AI & Context
- ๐ง AI Context Dump (
bck-nd prompt): Single LLM-optimized.txtwith project tree + UML + ER + requirements + core files - ๐ Requirements Context:
<requirements_context>block with user stories and business rules injected intoai_context.txt - ๐ฏ Focused Export (
--uml,--er,--tree): Lightweight context files with only the sections you need - ๐ Clipboard Export (
--copy,-c): Copy full or focused context directly with native OS clipboard tools - ๐ Context Metrics: Reports estimated tokens, context size, raw source size, and percentage saved on every prompt export
- ๐ค BYO-Key AI Analysis: OpenAI, Anthropic, Gemini, OpenRouter, or local Ollama โ no middleware
- โ๏ธ
--max-core-files N: Limit core files exported bybck-nd prompt
Requirements Intelligence
- ๐งฑ
bck-nd req init: Scaffold a standard Markdown or JSON user story under.bck-nd/requirements/ - ๐
bck-nd req list: Interactive table of User Stories, Status badges, Acceptance Criteria, and Business Rules - โจ
bck-nd req status: Move Markdown or JSON stories throughTODO,IN_PROGRESS,TESTING,DONE, orBLOCKED - ๐ต๏ธ
bck-nd req discover: Auto-generates a Stakeholder Interview Guide per story - ๐งพ Standard Scan Summary:
bck-nd scan .includes discovered requirements alongside architecture output - ๐
get_requirements_summary: MCP tool exposing live requirements state to Claude Desktop / Cursor
Quality, Security & Onboarding
- ๐ก๏ธ Dependency-Free Core: No PyTorch, No Transformers. Installs in <3 seconds
- ๐ช OS-Safe Scanning: Ignores
venv,node_modules, and restricted system paths - ๐ Guided Onboarding (
--teach): Tier-ordered learning curriculum via dependency heatmaps - ๐ก๏ธ QA Impact Radius (
--impact-radius <file>): Transitive reverse-dependency blast radius - ๐ API Contract Map (
--contract): Match API endpoints to ORM tables and columns - โค๏ธ Project Health Score (
--health): 0โ100 score with letter grade (AโF) - ๐งน Scoped Debt Categories:
TODO(audit),FIXME(security),HACK(perf), and more
๐๏ธ The Four Pillars Architecture
The internal engine is organized around four pillars that work together: the cache accelerates providers, providers feed the graph, and the graph feeds both diagrams and AI.
1. โก Incremental Delta Cache
Every scan writes a fingerprint of your project to .bck-nd/cache/delta.json. On the next run, only changed files are re-parsed โ everything else is served from cache, so repeat scans on an unchanged project complete in under 0.1 seconds.
# Normal scan โ uses the cache automatically
bck-nd scan .
# Force a full rescan, ignoring the cache
bck-nd scan . --no-cache
.bck-nd/cache/is generated project-local state and should be ignored by Git;.bck-nd/requirements/remains versionable.
2. ๐งฉ Autonomous Provider Pattern
Instead of one monolithic detector, each supported framework โ Laravel, FastAPI, Django, Spring Boot, EF Core, and Node.js โ is implemented as a self-contained semantic provider. Each provider owns its own detection heuristics, UML extraction, and ER extraction, so framework support can be added, tested, and fixed in isolation without touching the rest of the engine.
3. ๐ Abstract Semantic Graph (ASG)
All providers normalize their output into one Abstract Semantic Graph โ an in-memory architecture IR that represents controllers, models, services, routes, and their relationships in a framework-agnostic shape. The ASG is what powers diagrams and reports, and it's also queryable directly by AI agents inside Claude Desktop or Cursor via the MCP tool:
get_asg_graph
4. ๐งน Scoped Technical Debt Hunter
The technical debt scanner now understands scope tags, letting teams triage debt by category instead of treating every comment the same:
| Tag | Meaning |
|---|---|
TODO(audit) |
Needs a follow-up review or decision |
FIXME(security) |
Known security-relevant issue |
HACK(perf) |
Deliberate performance shortcut |
bck-nd scan . --todo
๐ Context & Requirements Intelligence Layer
Architecture tells you how a system is built. The Requirements Intelligence Layer tells you why โ turning user stories and business rules into first-class, AI-queryable context alongside your code.
bck-nd req init <story_id>
Creates a versionable requirement template under .bck-nd/requirements/ so every story begins with the same structure:
# Markdown template (default)
bck-nd req init US-042
# JSON template
bck-nd req init US-043 --format json
Templates include Role, Want, Benefit, Business Rules, Acceptance Criteria, Required Data, Validations, Exceptions, and Open Questions.
bck-nd req list
Renders an interactive terminal table of your project's requirements:
bck-nd req list
Columns:
| Column | Description |
|---|---|
| Story ID | Unique identifier for the user story |
| Title | Short description of the story |
| Status | Color-coded badge: TODO, IN_PROGRESS, TESTING, DONE, BLOCKED |
| Acceptance Criteria | Conditions that define "done" |
| Business Rules | Constraints and domain rules tied to the story |
bck-nd req status <story_id> <new_status>
Updates the source requirement file in place. Status names are case-insensitive, and set-status is available as an alias:
bck-nd req status US-042 IN_PROGRESS
bck-nd req set-status US-042 DONE
JSON stories may store status inside story or at the document root. Markdown stories use # US-042 [IN_PROGRESS] - Title; all sections below that header remain untouched.
bck-nd req discover [story_id]
Generates a Stakeholder Interview Guide โ a structured set of discovery questions you can take straight into a requirements-gathering session:
bck-nd req discover US-042
Guide sections:
- Mandatory Data โ the inputs/fields the feature absolutely needs
- Business Rules โ constraints, validations, and edge-case logic
- Exceptions โ error states and how they should be handled
- Acceptance Criteria โ how you'll know the story is complete
AI Context Injection
Running bck-nd prompt . now injects a <requirements_context> XML block directly into ai_context.txt, so any LLM you paste it into immediately understands not just your code, but the requirements behind it:
<requirements_context>
<story id="US-042" status="IN_PROGRESS">
<title>Allow refunds on partial shipments</title>
<acceptance_criteria>...</acceptance_criteria>
<business_rules>...</business_rules>
</story>
</requirements_context>
MCP Tool: get_requirements_summary
The same requirements data is available live inside Claude Desktop or Cursor via the get_requirements_summary MCP tool โ no need to re-export or re-paste context after every change.
Standard Scan Integration
bck-nd scan . automatically includes the requirements summary when specifications are present, keeping architecture and product intent together in the normal project overview.
๐ Release History
v2.4.3 โ Compiled UML, Polyglot Detection & Automation
Added Go and Rust UML extraction, polyglot monorepo detection, requirement status transitions, AI context metrics, machine-readable JSON scans, and a standalone offline documentation portal. See the current stable release summary or CHANGELOG.md.
v2.4.2 โ Stabilization & Workflow Integration
Clipboard export, requirement scaffolding, standard-scan requirement summaries, unified .bck-nd/ storage, stronger TypeScript/Next.js extraction, and UML empty-state fixes. See the previous stable release summary or CHANGELOG.md.
v2.4.1 โ Four Pillars & Requirements Foundation
Introduced the Incremental Delta Cache, Autonomous Provider Pattern, Abstract Semantic Graph, Scoped Technical Debt Hunter, initial Requirements Intelligence layer, Markdown story parsing, and the CLI version flag.
Full details in CHANGELOG.md.
v2.0.0 โ Engine Rebuild
Major architecture release: decoupled core/ engine, concurrent ScannerOrchestrator, thread-safe file cache, lazy parser loading, fault-tolerant scans, and direct .mmd export. Full details are in CHANGELOG.md; MCP clients and requirements schemas are covered in Advanced Configuration.
๐๏ธ ORM Parser Support Status
| ORM | Parser Type | Coverage / Status |
|---|---|---|
| SQLAlchemy (Python) | Tree-Sitter | Full AST Extractor |
| Django ORM (Python) | Tree-Sitter | Full AST Extractor |
| Entity Framework Core (C#) | Tree-Sitter | Full AST Extractor |
| Prisma (Schema) | Regex / Lexer | Schema Matcher |
| TypeORM (JS/TS) | Regex / Lexer | Structural Matcher |
| Sequelize (JS/TS) | Regex / Lexer | Structural Matcher |
๐ฆ Installation
# From PyPI
pip install bck-nd-hlpr
# From source
cd bck-nd-hlpr
pip install .
# Development mode
pip install -e .
# Verify installation and version
bck-nd --version
# or
bck-nd -v
bck-nd --help
# Optional: Set your preferred AI Provider key
# set OPENAI_API_KEY=sk-... (Windows)
# export OPENAI_API_KEY=sk-... (Mac/Linux)
๐ docs - Static HTML Portal Generation
Automatically generates a complete, static HTML documentation portal for your project. Perfect for CI/CD and GitHub Pages.
Usage
# Generate docs in the current directory (output folder: 'docs')
bck-nd docs . --output docs
What you get in docs/index.html:
- Infrastructure Map: Visual representation of
docker-compose.yml. - API Routes: Sequence diagrams of HTTP endpoints.
- UML Class Diagram: Auto-generated class hierarchy with associations and dependencies.
- Entity-Relationship: E-R diagrams for ORM models (Entity Framework, SQLAlchemy, Django).
- Technical Debt: Actionable table of TODOs and FIXMEs, including scoped tags such as
TODO(audit)andFIXME(security). - Requirements: User stories, statuses, acceptance-criteria counts, and business-rule counts when specifications exist.
- Offline diagrams: Embedded SVG previews remain available from
file://, air-gapped environments, and restricted CI artifactsโno external fonts or Mermaid CDN required.
๐ง prompt - AI Context Dump
Generates a single, LLM-optimized .txt file with XML-like tags that you can copy-paste directly into ChatGPT, Claude, or any AI to give it instant, complete understanding of your project โ architecture and requirements.
No more manually explaining your codebase structure โ one command, one file, instant AI context.
Full Mode (Default)
# Generate ai_context.txt in the current directory
bck-nd prompt .
# Custom output file
bck-nd prompt /my/project -o context.txt
# Deeper scan (default depth is 4)
bck-nd prompt . --depth 6
# Copy the generated context directly to the system clipboard
bck-nd prompt . --copy
Every full or focused export ends with a sizing footer such as:
๐ AI Context: ~8,420 tokens (28.8 KB) | โก 91.4% context savings vs raw codebase (334.9 KB)
Token counts use a lightweight code/XML estimate of approximately 3.5 characters per token. Raw size includes non-ignored source files in the selected scan depth, so generated files, dependencies, cache content, and .gitignore matches do not inflate the comparison.
Focused Mode (--uml, --er, --tree)
Export only the sections you need into a lightweight file. The default output filename adapts dynamically:
| Flags used | Default output file |
|---|---|
--uml |
ai_context_uml.txt |
--er |
ai_context_er.txt |
--tree |
ai_context_tree.txt |
--uml --er |
ai_context_diagrams.txt |
--uml --er --tree |
ai_context_diagrams.txt |
| (no flags) | ai_context.txt |
# UML diagram only
bck-nd prompt . --uml
# ER diagram only
bck-nd prompt . --er
# Project tree only
bck-nd prompt . --tree
# Combine: UML + ER diagrams
bck-nd prompt . --uml --er
# Custom output with focused flag
bck-nd prompt . --uml -o my_diagrams.txt
What the full file contains
| XML Tag | Contents |
|---|---|
<project_tree> |
Clean ASCII directory tree (no venv/node_modules) |
<architecture_uml> |
UML Class Diagram in Mermaid format |
<architecture_er> |
Entity-Relationship Diagram in Mermaid format |
<requirements_context> |
User stories, status, acceptance criteria, and business rules |
<core_files> |
Content of the 3-5 most important backend files |
How to use it
- Run
bck-nd prompt .in your project root - Open
ai_context.txt - Select All โ Copy
- Paste into ChatGPT / Claude as the first message
- Start asking questions about your codebase โ and its requirements โ immediately!
Example output structure
<!-- bck-nd-hlpr Context Dump -->
<!-- Paste this file into ChatGPT / Claude for instant AI context -->
<project_tree>
my-project/
+-- src/
| +-- main.py
| +-- models.py
\-- tests/
</project_tree>
<architecture_uml>
```mermaid
classDiagram
class User { ... }
```
</architecture_uml>
<architecture_er>
```mermaid
erDiagram
User { int id PK }
```
</architecture_er>
<requirements_context>
<story id="US-042" status="IN_PROGRESS">
<title>Allow refunds on partial shipments</title>
<acceptance_criteria>...</acceptance_criteria>
<business_rules>...</business_rules>
</story>
</requirements_context>
<core_files>
<file path="src/main.py">
```python
# ... file content ...
```
</file>
</core_files>
๐ req - Requirements Intelligence Layer
Track user stories and generate stakeholder discovery guides straight from the terminal โ and feed the same data to your AI tools automatically.
req init <story_id>
# Markdown template (default)
bck-nd req init US-001
# JSON template
bck-nd req init US-002 --format json
Creates .bck-nd/requirements/<STORY_ID>.md or .json with the standard story, rules, acceptance criteria, data, validation, exception, and open-question sections.
req list
bck-nd req list
Renders an interactive table with Story ID, Title, a color-coded Status badge (TODO, IN_PROGRESS, TESTING, DONE), Acceptance Criteria, and Business Rules for every requirement defined in your project.
req discover [story_id]
bck-nd req discover US-042
Generates a Stakeholder Interview Guide for the given story, with discovery questions grouped into Mandatory Data, Business Rules, Exceptions, and Acceptance Criteria โ ready to use in your next requirements session.
How it connects to the rest of the toolchain
- Every
bck-nd prompt .run injects a<requirements_context>block built from the same data (see the Requirements Intelligence Layer section above). - The
get_requirements_summaryMCP tool exposes this data live to Claude Desktop and Cursor.
See Advanced Configuration for the requirements file format and project setup.
๐ init-ci - GitHub Actions Automation
Set up "Living Documentation" in seconds. This command injects a ready-to-use GitHub Action into your repository.
Usage
bck-nd init-ci
What it does:
- Creates
.github/workflows/bck-nd-docs.yml. - Adds
.bck-nd/cache/to.gitignorewhile keeping.bck-nd/requirements/versionable. - Configures an automatic trigger on
pushto themainbranch. - Installs
bck-nd-hlprin the CI runner. - Generates the full HTML portal (UML, ER, Infra, Routes).
- Deploys the result automatically to GitHub Pages.
๐ต๏ธ scan - Automatic Architecture Detection
Automatically scans your project, detects the framework and architecture, and generates intelligent diagrams. Repeat scans are accelerated by the Incremental Delta Cache.
Basic Usage
# Scan current directory (default depth: 3)
bck-nd scan .
# Scan specific directory
bck-nd scan src
# Custom depth
bck-nd scan . --depth 5
Modes
1. Full Architecture Overview (Default)
bck-nd scan .
Output:
- Framework detection (Flask, FastAPI, Django, etc.)
- Architecture type (MVC, Microservices, etc.)
- Features (Docker, Auth, Database, etc.)
- Infra Map: Docker Compose services
- API Routes: Endpoints sequence diagram
- UML & ER: Class and Entity-Relationship Mermaid diagrams
- TODOs: Technical Debt Report
2. Mermaid Export
bck-nd scan . --format mermaid
Output:
- Generates
graph TDcode ready to copy-paste into Notion, GitHub, or Obsidian. - Also shows the specific visual diagram in the terminal for instant preview.
- Perfect for documentation and presentations.
3. UML Class Diagram
bck-nd scan . --uml
- Generates
classDiagramcode for Mermaid.js. - Uses a unified multi-language parser combining AST (Python) and Tree-Sitter (C#, Java, JS/TS, PHP) to extract classes, methods, properties, and constructors automatically.
- Automatically infers relationships (
-->Associations,..>Dependencies) and inheritance (<|--) across all files.
4. Diagram + Local Report
bck-nd scan . --explain
Output:
- Everything from mode 1, PLUS
- Text-based component breakdown
- List of Controllers, Models, Services
- No AI required (100% offline)
5. Entity-Relationship Diagram (ER)
bck-nd scan . --er
Output:
- Generates
erDiagramfor Mermaid.js. - Scans modern schema configurations, migrations, and ORMs across languages:
- Modern Configs: Prisma Schemas (
schema.prisma), Drizzle ORM schemas (.ts/.js), and raw SQL migrations (.sql) - Traditional ORMs: Entity Framework (C#), Spring Boot / JPA (Java), Laravel / Eloquent (PHP), SQLAlchemy / Django models (Python), and Sequelize / Mongoose (JS/TS)
- Modern Configs: Prisma Schemas (
- Bulletproof Mermaid Syntax: Safely handles Generics (e.g.
List<T>), table brackets, and special characters. - Detects database columns, primary keys (
PK), data annotations, and auto-generates bidirectional relationships (||--o{,}o--||) with intelligent schema deduplication and merging.
6. API Route Map
bck-nd scan . --routes
Output:
- Generates
sequenceDiagramfor Mermaid.js. - Scans
FlaskandFastAPIendpoints. - Visualizes
Client -> APIinteractions with methods and paths.
7. Infrastructure Diagram
bck-nd scan . --infra
Output:
- Generates
graph LRfor Mermaid.js. - Scans
docker-compose.ymlfiles. - Shows services, images, and dependencies.
- Database services (postgres, redis, mysql, mongo) displayed as cylinders.
8. Scoped Technical Debt Hunter
bck-nd scan . --todo
Output:
- Scans for TODO, FIXME, HACK, XXX, BUG comments and recognizes scope tags like
TODO(audit),FIXME(security), andHACK(perf) - Beautiful color-coded table using Rich
- Shows file, line number, type, scope tag, and message
- Statistics by debt type and scope category
- Debt level assessment
- Perfect for code reviews and sprint planning
9. Security Audit
bck-nd scan . --audit
Output:
- Scans for hardcoded secrets, keys, and dangerous config
- Reports "Critical" risks like AWS Keys or Private PEMs
- Reports "High/Warning" risks like DB passwords or hardcoded IPs
- Essential for pre-commit checks
10. Dependency Heatmap
bck-nd scan . --impact
Output:
- Shows a "Heatmap" of your files based on how many other files import them.
- Helps identify "Core" modules that are risky to refactor.
- Sorts by Impact Score and assigns Risk Categories (
๐ฅ CORE,๐ก SHARED,๐ข PERIPHERAL).
11. Route-to-DB Traceability
bck-nd scan . --trace
Output:
- Generates
graph LRfor Mermaid.js. - Traces API calls starting from your routes down to your services and models.
- Parses AST (currently supports Python: FastAPI/Flask).
12. Guided Onboarding
bck-nd scan . --teach
Output:
- Evaluates file relationships to calculate reading hierarchy.
- Outputs a color-coded sequential table dividing the codebase into Entrypoints, Core Logic, and Infra/Database files.
13. Data Science Lineage Map
bck-nd scan . --datascience
Output:
- Parses
.ipynbJSON nodes and analyzes cells. - Generates a Mermaid
graph LRlineage flowchart mapping input files, notebooks, and outputs/models.
14. QA Impact Radius
bck-nd scan . --impact-radius src/bck_nd_hlpr/route_parser.py
Output:
- Traverses reverse-dependencies transitively using BFS.
- Outputs a clean report showing the complete affected file chain and a list of impacted API endpoints.
15. API Contract Map
bck-nd scan . --contract
Output:
- Matches backend API routes with ORM models using path-matching, handler-naming, and import-based heuristics.
- Renders a structured terminal table displaying endpoints, matched database tables, and their column schemas.
16. Project Health Score
bck-nd scan . --health
Output:
- Calculates a consolidated 0-100 quality score.
- Renders a beautifully styled Rich report card featuring letter grades (A-F) and details of security/debt point deductions.
17. Diagram + AI Analysis
bck-nd scan . --ai
Output:
- Everything from mode 1, PLUS
- AI-powered architectural analysis
- Design pattern recommendations
- Code quality insights
- Detects API keys in your environment (OpenAI, Anthropic, Gemini, OpenRouter) or uses a local Ollama server.
18. Force Specific AI Provider
bck-nd scan . --ai --provider openai
Output:
- Supported providers:
openai,anthropic,gemini,groq,deepseek,openrouter,ollama. - Safely reports a styled error if the corresponding API key is missing.
19. AI Only (No Diagram)
bck-nd scan . --no-graph --ai
Output:
- Only AI analysis (no Mermaid diagram)
- Faster for text-only reports
20. Project File/Directory Tree
bck-nd scan . --tree
Output:
- Generates a clean ASCII directory tree of the project using Unicode box-drawing characters.
- Automatically and silently filters out ignored directories (such as
node_modules,venv,.git, etc.) based onGLOBAL_IGNORE_DIRS.
21. Cache Control
# Skip the Incremental Delta Cache and force a full rescan
bck-nd scan . --no-cache
Output:
- Ignores
.bck-nd/cache/delta.jsonand re-parses every file from scratch. - Useful right after upgrading
bck-nd-hlpr, or when debugging stale diagram output. - All other modes above accept
--no-cachetoo.
22. Machine-Readable JSON
# Consolidated architecture, ASG, requirements, health, debt, and security data
bck-nd scan . --json
# One report uses its native JSON structure
bck-nd scan . --health --json
bck-nd scan . --todo --json
bck-nd scan . --req --json
# Write JSON directly without adding terminal banners to the file
bck-nd scan . --audit --json -o audit.json
With one analysis flag, stdout is that report's native JSON object, array, or value. Combining multiple analysis flags returns an object keyed by report name. --json alone returns the consolidated schema with framework, architecture, summary, features, asg, requirements, health, todos, and security_risks.
This mode is designed for json.loads(), jq, CI quality gates, and automation; human-readable Rich panels and progress banners are suppressed.
Use
--ai --style <name>to change AI tone. See AI Personalities (Fun Styles) at the end of this document.
๐ flow - Manual Diagram Generation
Create custom architecture diagrams from string descriptions.
Usage
bck-nd flow "Client -> API -> Database"
bck-nd flow "Client -> LoadBalancer -> [API_v1, API_v2] ; API_v1 -> Redis"
bck-nd flow "User -> Auth [Service] -> JWT [Token] -> API"
Syntax
A -> B- Creates connection from A to B[X, Y, Z]- Multiple nodes in same position;- New row[DB],[SQL],[DATA]- Rendered as database cylinders[Service],[DIR]- Rendered as soft boxes[?],[IF]- Rendered as diamonds
๐ Command Manual
๐ฅ๏ธ explore - Interactive TUI Mode (Explorer)
Launch a full-screen Terminal User Interface (TUI) to interactively explore your project's architecture, powered by textual.
Usage
bck-nd explore
What you get:
- Sidebar: Directory tree to navigate your codebase.
- Main View: Click on a
.pyfile to instantly generate its ASCII diagram and Mermaid Sequence routes. - Dynamic Analysis: Click on a folder to see the high-level architecture of that specific directory.
- Shortcuts: Press
Dto toggle dark/light mode,Qto quit.
๐ฏ Usage Examples
Example 1: Quick Project Analysis
cd my-backend-project
bck-nd scan .
What you get:
๐ Analyzing architecture of '.'...
๐ป Framework detected: FastAPI
๐ญ Architecture: REST API (Route-based)
โจ Features: Docker, SQLAlchemy ORM, Authentication
๐ FastAPI application using REST API (Route-based) with Docker, SQLAlchemy ORM, Authentication.
๐ ARCHITECTURE DIAGRAM:
[ASCII diagram showing Routes -> Services -> Models -> Database]
Example 2: Deep Analysis with AI
bck-nd scan . --ai --style pro --depth 5
What you get:
- Complete architecture detection
- Full project diagram
- AI analysis including:
- Design pattern recommendations
- Security considerations
- Performance optimization suggestions
- Code quality assessment
Example 3: Text-Only Report
bck-nd scan src --explain --no-graph
What you get:
- Framework/architecture detection
- Component list without diagram
- Perfect for CI/CD logs
Example 4: Compare Two Approaches
# Old monolith
bck-nd scan ./legacy --ai --style ramsay
# New microservices
bck-nd scan ./new-arch --ai --style pro
Example 5: Requirements Discovery Before a Sprint
# See what's outstanding
bck-nd req list
# Generate an interview guide for the next story
bck-nd req discover US-042
What you get:
- A color-coded table of every story's status
- A ready-to-use Stakeholder Interview Guide for the story you're about to pick up
๐ง Architecture Detection
Backend Helper automatically detects:
Frameworks
| Language | Frameworks |
|---|---|
| Python | Flask, FastAPI, Django (Specialized ER/UML), Quart |
| JavaScript/TypeScript | Next.js (Filesystem Routes & React UML), Express.js (Specialized ER/UML), Fastify, Koa, NestJS (Route Detection) |
| Java | Spring Boot (Specialized ER/UML), Maven, Gradle |
| PHP | Laravel (Specialized ER/UML) |
| C# / .NET | .NET Core, Entity Framework (Specialized ER/UML) |
| Go | Gin, Fiber |
| Rust | Actix-web, Rocket |
Laravel, FastAPI, Django, Spring Boot, EF Core, and Node.js run through the Autonomous Provider Pattern, each with self-contained detection, UML, and ER logic.
Architecture Patterns
- Microservices Architecture - Multiple services in docker-compose
- MVC + Services (Layered) - Controllers, Models, Services folders
- MVC Pattern - Controllers + Models
- REST API (Route-based) - Routes + Models
- Containerized Application - Docker detected
- Monolithic Application - Fallback
Features Detection
- Docker / Docker Compose
- Databases (SQL, SQLite)
- ORM (SQLAlchemy, Django ORM)
- Authentication (JWT, OAuth)
- API Documentation (Swagger/OpenAPI)
- CI/CD (GitHub Actions, GitLab CI)
- Unit Tests
- Security: Auto-redaction of secrets in output (Sanitizer)
Configuration
See Advanced Configuration for MCP client setup and requirements schemas.
๐พ Output Persistence
Save any report or diagram with -o / --output. ANSI color codes are stripped automatically.
# Save ASCII diagram
bck-nd scan . -o architecture.txt
# Save Technical Debt Report (Clean text)
bck-nd scan . --todo -o report.txt
# Save Mermaid diagram directly to a .mmd file (ANSI codes stripped automatically)
bck-nd scan . --er -o db.mmd
๐งช AI Providers Setup (BYO-Key)
Backend Helper automatically loads .env files if they exist in your project root.
โ ๏ธ Security Warning: Never commit
.envto public repositories;init-cidoes not inject keys into the repo.
Preferred order (checked automatically):
# Preferred order (checked automatically)
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=AIzaSy...
OPENROUTER_API_KEY=sk-or-... # 200+ models, free tier โ https://openrouter.ai/keys
OLLAMA_HOST=http://localhost:11434 # Local Ollama, no key required
Then run:
bck-nd scan . --ai
Option 3: Ollama (Local AI)
No API key required. Make sure Ollama is running on http://localhost:11434.
# Optionally customize the host
export OLLAMA_HOST="http://localhost:11434"
bck-nd scan . --ai --provider ollama
๐ค MCP Integration (Claude Desktop / Cursor)
Backend Helper includes an MCP server exposing 23 local architecture and requirements tools directly inside Claude Desktop and Cursor, including:
bck-nd-mcp
| Tool | Introduced | What it returns |
|---|---|---|
get_asg_graph |
v2.4.1 | The Abstract Semantic Graph (Pillar 3) โ the full normalized architecture IR, queryable by the AI |
get_requirements_summary |
v2.4.1 | Live user stories, statuses, acceptance criteria, and business rules from the Requirements Intelligence Layer |
For MCP client configuration and requirements integration, see Advanced Configuration.
Comparison: Different Commands
| Command | Architecture Detection | Diagram | Text Report | AI Analysis | AI Context File |
|---|---|---|---|---|---|
bck-nd scan . |
โ | โ (Full Arch) | โ | โ | โ |
bck-nd scan . --no-cache |
โ | โ (Full Arch) | โ | โ | โ |
bck-nd scan . --explain |
โ | โ | โ | โ | โ |
bck-nd scan . --teach |
โ | โ | โ (Onboarding) | โ | โ |
bck-nd scan . --datascience |
โ | โ (Data Line) | โ | โ | โ |
bck-nd scan . --ai |
โ | โ | โ | โ | โ |
bck-nd scan . --explain --ai |
โ | โ | โ | โ | โ |
bck-nd scan . --no-graph --ai |
โ | โ | โ | โ | โ |
bck-nd scan . --uml |
โ | โ (UML Class) | โ | โ | โ |
bck-nd scan . --er |
โ | โ (ER DB) | โ | โ | โ |
bck-nd scan . --routes |
โ | โ (API Seq) | โ | โ | โ |
bck-nd scan . --infra |
โ | โ (Docker LR) | โ | โ | โ |
bck-nd scan . --todo |
โ | โ | โ (Scoped Debt) | โ | โ |
bck-nd scan . --audit |
โ | โ | โ (Sec. Risks) | โ | โ |
bck-nd scan . --impact |
โ | โ | โ (Impact Heatmap) | โ | โ |
bck-nd scan . --impact-radius |
โ | โ | โ (Impact Chain) | โ | โ |
bck-nd scan . --contract |
โ | โ (Contract) | โ | โ | โ |
bck-nd scan . --health |
โ | โ | โ (Health Grade) | โ | โ |
bck-nd scan . --trace |
โ | โ (Trace LR) | โ | โ | โ |
bck-nd scan . --tree |
โ | โ (File Tree) | โ | โ | โ |
bck-nd prompt . |
โ | โ (Mermaid) | โ | โ | โ (XML) |
bck-nd req list |
โ | โ | โ (Requirements Table) | โ | โ |
bck-nd req discover |
โ | โ | โ (Interview Guide) | โ | โ |
bck-nd flow "A -> B" |
โ | โ | โ | โ | โ |
bck-nd explore |
โ | โ | โ | โ | โ |
bck-nd docs . |
โ | โ (All HTML) | โ (HTML Portal) | โ | โ |
bck-nd chat . |
โ | โ (Loaded) | โ | โ (Interactive) | โ |
bck-nd init-ci |
โ | โ | โ | โ | โ |
๐ Troubleshooting
"No files found"
Solution:
# Increase depth
bck-nd scan . --depth 5
# Or scan specific directory
bck-nd scan src --depth 3
"Connection error: ..."
Cause: The selected AI provider is unreachable or the API key is invalid. Solution: Verify your API key is set correctly, or switch to a different provider:
# Try OpenRouter (free tier available)
export OPENROUTER_API_KEY=sk-or-...
bck-nd scan . --ai
# Or use local Ollama (no key required)
bck-nd scan . --ai --provider ollama
"Framework detected: Unknown"
Cause: Framework not yet supported or non-standard structure
Solution: Use bck-nd flow for manual diagrams
Diagrams look stale after upgrading
Cause: The Incremental Delta Cache (.bck-nd/cache/delta.json) is reusing results from a previous version.
Solution: Force a clean rescan:
bck-nd scan . --no-cache
"No requirements found"
Cause: bck-nd req list / bck-nd req discover found no requirements file in the project.
Solution: Set up your requirements file per Advanced Configuration, then re-run bck-nd req list.
โ ๏ธ Known Limitations
bck-nd-hlpr uses static heuristics and parsers โ not a full language server or compiler. Keep these in mind:
| Area | Coverage | Notes |
|---|---|---|
| UML (Tree-Sitter) | C#, Java, JS/TS, PHP, Python | Best-effort AST extraction; dynamic metaprogramming may be missed |
| UML (Regex/Lexer) | TypeORM, Sequelize | Structural matching only โ no full type inference |
| ER (Tree-Sitter) | SQLAlchemy, Django, EF Core | Full AST where supported |
| ER (Regex/Lexer) | Prisma, TypeORM, Sequelize | Schema-level matching; complex generics may be simplified |
| Route parsing | Flask, FastAPI (primary) | Other frameworks: detection only, limited endpoint extraction |
| Traceability | Python (FastAPI/Flask) | Route-to-DB tracing not yet polyglot |
| API Contract Map | Heuristic | Matches routes to models by naming/import patterns โ not runtime validation |
| Security audit | Pattern-based | Catches common secret patterns; not a substitute for dedicated SAST tools |
| Requirements Intelligence | Manual authoring | Requires user stories to be defined in your project's requirements file(s); no automatic inference from code |
Parser errors on individual files are collected in execution_warnings and do not abort the scan. See CHANGELOG.md.
๐ญ AI Personalities (Fun Styles)
Note: AI personalities work with all supported direct providers (OpenAI, Anthropic, Gemini, OpenRouter, Ollama). For production documentation, use
proorhacker.
| Style | Description | Use Case |
|---|---|---|
pro |
Senior Software Architect - Technical, formal | Production documentation |
hacker |
Security Expert - Focuses on vulnerabilities | Security audits |
soviet |
Soviet Engineer - Efficiency-focused | Performance reviews |
eli5 |
Kindergarten Teacher - Simple explanations | Onboarding juniors |
ramsay |
Gordon Ramsay - Brutally critical | Code reviews |
jarvis |
Tony Stark's AI - Elegant, helpful | Executive presentations |
corporate |
Manager - Buzzword-heavy | Stakeholder reports |
medieval |
Ancient Wizard - Metaphorical | Creative documentation |
doom |
Doom Slayer - Bugs are demons | Bug hunting |
bck-nd scan . --ai --style pro # Professional
bck-nd scan . --ai --style hacker # Security-focused
bck-nd scan . --ai --style ramsay # Critical review
๐ Supported File Types
| Type | Detection Method | Output Shape |
|---|---|---|
| Controllers | *controller.py, *ctrl.py |
Box โ API |
| Models | *model.py, *entity.py, *schema.py |
Box โ Database (Cylinder) |
| Services | *service.py, *svc.py |
Box โ Business Logic |
| Routes | *route.py, *router.py |
Box โ Endpoints |
| Middleware | *middleware.py |
Box โ Request Pipeline |
| Database Files | .sql, .db, .sqlite |
Cylinder โ Data Storage |
| Docker | Dockerfile, docker-compose.yml |
Soft Box |
| ORM | SQLAlchemy, Django, Prisma, etc. | Cylinder โ DB Access |
| Infrastructure | .tf (Terraform) |
Box โ Infrastructure |
๐งฌ How it Started
bck-nd-hlpr evolved from an earlier experiment (ASCII Architect, a hooby proyect where I teach how to write ASCII basic forms to a GPT-2 model). It worked, but required ~2GB of dependencies just to draw a diamond. This project rebuilds the same idea from scratch: deterministic renderers, no model downloads, installs in under 3 seconds.
๐ Real-World Usage
CI/CD Integration
Option A: Automatic Setup (Recommended)
# Run this once locally to inject the workflow
bck-nd init-ci
git add . && git commit -m "ci: add auto-documentation" && git push origin main
Option B: Manual YAML
# .github/workflows/arch-analysis.yml
- name: Analyze Architecture
run: |
pip install bck-nd-hlpr
bck-nd scan . --explain --no-graph > architecture.txt
Code Review Automation
# Before PR approval
bck-nd scan . --ai --style pro > review.md
Documentation Generation
# Generate architecture docs
bck-nd scan . --explain > docs/ARCHITECTURE.md
bck-nd scan . --ai --style pro > docs/AI_ANALYSIS.md
Sprint Planning
# Review outstanding stories before planning
bck-nd req list
# Prep an interview guide for the next story
bck-nd req discover US-042 > interview-guide.md
๐๏ธ Project Metadata Storage
Backend Helper keeps generated state and user-authored requirements together without mixing their lifecycle:
.bck-nd/
โโโ cache/
โ โโโ delta.json # Generated; ignored by Git and context output
โโโ requirements/ # User-authored; preserved in trees and version control
โโโ US-001.md
โโโ US-002.json
The cache directory is created automatically. Requirements remain visible to bck-nd prompt, bck-nd scan, and MCP clients.
Advanced Configuration
๐ค MCP Integration (Claude Desktop / Cursor)
Backend Helper includes a server compatible with the Model Context Protocol (MCP). This allows any compatible AI client (like Claude Desktop or Cursor) to interact directly with your codebase using our local reverse engineering and diagramming tools without needing to send all your code to the cloud or consume valuable context tokens by transferring full files.
The AI will call local tools on demand to analyze the architecture, generate diagrams, search for technical debt, or audit security.
How to Run the MCP Server (Local Test)
Once you have installed the package locally (pip install -e .), you can run the MCP server using the global command:
bck-nd-mcp
Alternatively, you can run it as a Python module:
python -m bck_nd_hlpr.cli.mcp_server
How to Configure Clients
1. Claude Desktop
Add the following configuration block to your claude_desktop_config.json file:
- Windows Path:
%APPDATA%\Claude\claude_desktop_config.json - Mac/Linux Path:
~/Library/Application Support/Claude/claude_desktop_config.json
Using the global executable (Recommended):
{
"mcpServers": {
"backend-helper": {
"command": "bck-nd-mcp",
"env": {
"OPENAI_API_KEY": "your-optional-api-key",
"ANTHROPIC_API_KEY": "your-optional-api-key"
}
}
}
}
Using the explicit Python module (Most robust for environment/PATH issues):
{
"mcpServers": {
"backend-helper": {
"command": "python",
"args": [
"-m",
"bck_nd_hlpr.cli.mcp_server"
],
"env": {
"OPENAI_API_KEY": "your-optional-api-key",
"ANTHROPIC_API_KEY": "your-optional-api-key"
}
}
}
}
2. Cursor
- Go to Cursor Settings > Features > MCP.
- Click on + Add New MCP Server.
- Configure the following parameters:
- Name:
backend-helper - Type:
command - Command:
bck-nd-mcp(orpython -m bck_nd_hlpr.cli.mcp_serverto lock it to your active python environment).
- Name:
- Save and click on Refresh. Done! You now have 20 powerful architecture tools instantly available to your AI assistant.
๐ Requirements Specification Format (.bck-nd/requirements/)
The Requirements Intelligence Layer lets you define User Stories and acceptance criteria as structured files that bck-nd can parse, list, validate, and inject into LLM context dumps.
Directory Structure
All requirement files live under the .bck-nd/requirements/ directory at the root of your project:
my-project/
โโโ .bck-nd/
โ โโโ requirements/
โ โโโ US-001.json # JSON format
โ โโโ US-001.md # Markdown format (alternative)
โ โโโ US-002.json
โ โโโ HU-003.md
โ โโโ STORY-PAYMENTS.json
โโโ src/
โโโ ...
Note: If both
US-001.jsonandUS-001.mdexist, only the first encountered (sorted by stem then suffix) is loaded โ duplicates by Story ID are deduplicated automatically.
Supported File Formats
JSON Format (.json)
The JSON format maps directly to the RequirementSpecification data model. This is the most precise and machine-friendly format.
{
"story": {
"id": "US-001",
"title": "User Registration",
"role": "new visitor",
"want": "to create an account with email and password",
"benefit": "I can access personalized features",
"status": "IN_PROGRESS"
},
"business_rules": [
{ "id": "BR01", "description": "Email must be unique across all accounts" },
{ "id": "BR02", "description": "Password must be at least 8 characters with one uppercase and one number" }
],
"acceptance_criteria": [
{
"id": "AC01",
"given": "a visitor is on the registration page",
"when": "they submit a valid email and password",
"then": "an account is created and a confirmation email is sent"
},
{
"id": "AC02",
"given": "a visitor submits an already registered email",
"when": "the form is submitted",
"then": "an error message 'Email already in use' is shown"
}
],
"required_data": [
{ "field": "email", "type": "string (valid email format)" },
{ "field": "password", "type": "string (min 8 chars)" },
{ "field": "display_name", "type": "string (optional)" }
],
"validations": [
{ "field": "email", "rule": "RFC 5322 format, unique in users table" },
{ "field": "password", "rule": "min 8 chars, 1 uppercase, 1 digit" }
],
"exceptions": [
{ "code": "ERR_DUPLICATE_EMAIL", "description": "Email already registered" },
{ "code": "ERR_WEAK_PASSWORD", "description": "Password does not meet complexity requirements" }
],
"open_questions": [
"Should we support OAuth (Google/GitHub) in the first release?",
"What is the maximum length for display_name?"
]
}
JSON Field Reference
| Field | Type | Description |
|---|---|---|
story.id |
string |
Unique identifier (e.g.US-001, HU01, REQ-42) |
story.title |
string |
Short descriptive title |
story.role |
string |
The user role ("As a โฆ") |
story.want |
string |
The desired capability ("I want โฆ") |
story.benefit |
string |
The business value ("So that โฆ") |
story.status |
string |
Workflow status:TODO, IN_PROGRESS, TESTING, DONE |
business_rules[] |
array |
Each entry hasid and description |
acceptance_criteria[] |
array |
Each entry hasid, given, when, then |
required_data[] |
array |
Each entry hasfield and type |
validations[] |
array |
Each entry hasfield and rule |
exceptions[] |
array |
Each entry hascode and description |
open_questions[] |
array |
Free-text strings for unresolved questions |
Flat JSON alternative: The parser also supports a flat structure where
id,title,role,want, andbenefitsit at the root level instead of nested understory.
Markdown Format (.md)
The Markdown format is human-friendly and supports all the same sections. The Story ID defaults to the filename stem (e.g. US-001.md โ US-001).
# US-001 [IN_PROGRESS] - User Registration
- **Role**: new visitor
- **Want**: to create an account with email and password
- **Benefit**: I can access personalized features
## Business Rules
- BR01: Email must be unique across all accounts
- BR02: Password must be at least 8 characters with one uppercase and one number
## Acceptance Criteria
- AC01: Given a visitor is on the registration page When they submit a valid email and password Then an account is created and a confirmation email is sent
- AC02: Given a visitor submits an already registered email When the form is submitted Then an error message 'Email already in use' is shown
## Required Data
- email: string (valid email format)
- password: string (min 8 chars)
- display_name: string (optional)
## Validations
- email: RFC 5322 format, unique in users table
- password: min 8 chars, 1 uppercase, 1 digit
## Exceptions
- ERR_DUPLICATE_EMAIL: Email already registered
- ERR_WEAK_PASSWORD: Password does not meet complexity requirements
## Open Questions
- Should we support OAuth (Google/GitHub) in the first release?
- What is the maximum length for display_name?
Markdown Header Format
The # header supports multiple patterns:
| Pattern | Example |
|---|---|
# ID - Title |
# US-001 - User Registration |
# ID: Title |
# HU01: Registro de Usuario |
# ID [STATUS] - Title |
# US-001 [IN_PROGRESS] - User Registration |
Recognized ID prefixes: HU, US, REQ, STORY (case-insensitive).
Markdown Section Headers
The parser recognizes these ## section headers (English and Spanish):
| Section | Recognized Keywords |
|---|---|
| Business Rules | business rule, reglas de negocio, regla |
| Acceptance Criteria | acceptance, aceptaciรณn, criterio |
| Required Data | data, dato |
| Validations | validation, validaciรณn |
| Exceptions | exception, excepciรณn |
| Open Questions | question, pregunta |
How CLI Commands Consume Requirements
bck-nd req list [path]
Scans .bck-nd/requirements/ and displays a summary table of all discovered stories:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Project Requirements & User Stories (3 found) โ
โโโโโโโโโโโโฌโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโฌโโโโโโโโโค
โ Story ID โ Status โ Title โ Crit. โ Rules โ
โโโโโโโโโโโโผโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโค
โ US-001 โ IN_PROGRESS โ User Registration โ 2 โ 2 โ
โ US-002 โ TODO โ Password Reset โ 3 โ 1 โ
โ HU-003 โ DONE โ User Profile โ 1 โ 0 โ
โโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโดโโโโโโโโโ
bck-nd req discover [story_id] [path]
Generates a Stakeholder Interview & Discovery Guide for a specific story. When called without a story_id, it lists all available stories you can discover.
# List available stories for discovery
bck-nd req discover .
# Generate discovery guide for a specific story
bck-nd req discover US-001
bck-nd prompt .
When generating the LLM context dump, bck-nd prompt . automatically detects and injects all requirements from .bck-nd/requirements/ into the output. The context dump includes:
- Story metadata (ID, status, role/want/benefit)
- Business rules
- Acceptance criteria (Given/When/Then)
- Required data dictionary
- Validations and exceptions
This ensures any AI assistant receiving the context dump has full visibility into the project's functional requirements alongside the architecture, UML, and ER diagrams.
MCP Tool: get_requirements_summary
When using the MCP server, AI clients can call the get_requirements_summary tool to retrieve a formatted summary of all requirement specifications without consuming the full context dump.
๐ Documentation
- CHANGELOG.md - Release history
- Advanced Configuration - MCP setup and requirements file schemas
- vscode-extension/README-EXTENSION.md - VS Code extension guide
- AUDIT_ROADMAP.md - Completed parser and provider audit record
๐ก Philosophy
"Less guessing, more coding."
Backend Helper is designed for speed, intelligence, and actionable insights. No bloated dependencies, no waiting for model downloads. Just instant architectural โ and now requirements โ understanding.
๐ค Contributing
Issues and pull requests are welcome. Keep fixes reproducible, include regression tests where practical, and document user-visible behavior changes.
๐ License
MIT License - See LICENSE file for details
Built with โค๏ธ for developers who value clarity and speed.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bck_nd_hlpr-2.4.3.tar.gz.
File metadata
- Download URL: bck_nd_hlpr-2.4.3.tar.gz
- Upload date:
- Size: 249.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fe91a38dff6c96d364eb7c9279758259e3b7e2b4c9d986346b9e1326e393289
|
|
| MD5 |
90e0a800b2c6f502cd8dbdca3d7e4b77
|
|
| BLAKE2b-256 |
b6f89156455083d94165aab4bb978a16e30dcd8469ef75811b9b98f4a104f97a
|
File details
Details for the file bck_nd_hlpr-2.4.3-py3-none-any.whl.
File metadata
- Download URL: bck_nd_hlpr-2.4.3-py3-none-any.whl
- Upload date:
- Size: 235.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9e2c09479de9fe6f2bb16aacc1e30fc6c29c2d1d95393452e79caa05a170ae8
|
|
| MD5 |
e4c5b83cc5ceee638d412313c66aa22f
|
|
| BLAKE2b-256 |
f9c9cbaf2da88eca93f8863c761cd06f3d06f0c529c16dabcd113b1b7b5e8724
|