Skip to content

LLM Development Tools: Dependency Analyzer & External Memory RAG - Solve real developer pain points

Notifications You must be signed in to change notification settings

takawasi/llm-dev-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

LLM Development Tools

Two essential tools for LLM-assisted development - discovered through market research of actual developer pain points.

日本語版 README


📊 Key Metrics

  • 373 functions analyzed for dependency tracking
  • 244 files indexed for context search
  • AST-based impact prediction
  • Keyword + Semantic search support

🔧 Tools

1. Dependency Analyzer

Solves: "I fixed one thing and broke another" regression problem

# Analyze project dependencies
python3 dependency_analyzer.py analyze --project-root /path/to/project

# Predict impact before changing code
python3 dependency_analyzer.py impact --project-root /path --file code.py

Features:

  • AST-based dependency extraction
  • BFS traversal for impact prediction
  • Risk level assessment (LOW/MEDIUM/HIGH/CRITICAL)
  • Dependency graph generation (JSON)

Output Example:

=== Impact Analysis Report ===
Changed File: auth.py
Functions: 5
Total Affected Functions: 12
⚠️ Overall Risk: HIGH

2. External Memory RAG

Solves: "Can't find past conversations/files" context loss problem

# Search files
python3 external_memory_rag.py search --project-root /path --query "authentication"

# Generate context from query
python3 external_memory_rag.py context --project-root /path --query "how to implement login"

Features:

  • Keyword-based search (fast, no dependencies)
  • Semantic search (optional, requires sentence-transformers)
  • Conversation indexing
  • Auto-context generation

Output Example:

📄 Found 5 results:
1. auth_handler.py
   Score: 15.00 | Lines: 245
   Snippet: ...authentication flow using JWT tokens...

🚀 Quick Start

Installation

# Clone repository
git clone https://github.com/yourusername/llm-dev-tools.git
cd llm-dev-tools

# Optional: Install semantic search support
pip install sentence-transformers

Usage

Dependency Analyzer:

# Check impact before modifying file
python3 dependency_analyzer.py impact \
  --project-root /your/project \
  --file /your/project/module.py \
  --save-report impact_report.txt

External Memory RAG:

# Search for relevant files
python3 external_memory_rag.py search \
  --project-root /your/project \
  --query "database connection" \
  --top-k 5

💡 Design Philosophy

Problem-First Approach

These tools were built based on Phase 1 market research analyzing real developer pain points:

  1. Pain Collection: Analyzed Reddit, OpenAI forums, GitHub issues
  2. Gap Analysis: Identified top complaints
  3. Solution Design: Built tools addressing specific pains
  4. Prototype Testing: Validated with real projects

Key Insights

  • Regression Prevention: Developers fear "fix one, break another"
  • Context Loss: Hard to find past conversations/decisions
  • Automation Gap: Existing tools require manual data input

📖 Technical Details

Dependency Analyzer

Algorithm:

  1. AST parsing to extract function/class definitions
  2. Build dependency graph (forward + reverse)
  3. BFS traversal for impact prediction
  4. Risk scoring based on affected function count

Risk Levels:

  • LOW: 0 affected functions
  • MEDIUM: 1-4 affected functions
  • HIGH: 5-19 affected functions
  • CRITICAL: 20+ affected functions

External Memory RAG

Search Methods:

  1. Keyword Search (default):

    • TF-IDF-like scoring
    • Exact match bonus
    • Fast, no dependencies
  2. Semantic Search (optional):

    • Sentence-BERT embeddings
    • Cosine similarity matching
    • Requires sentence-transformers

Index Structure:

{
  "file_index": {filepath: content},
  "embedding_index": {filepath: vector},
  "conversation_index": {id: content}
}

🛠️ Requirements

Minimum (Keyword Search Only):

  • Python 3.8+
  • Standard library only

Optional (Semantic Search):

  • sentence-transformers
  • numpy

📝 CLI Reference

Dependency Analyzer

# Analyze project
python3 dependency_analyzer.py analyze --project-root PATH [--save-graph FILE]

# Predict impact
python3 dependency_analyzer.py impact --project-root PATH --file FILE [--save-report FILE]

# Demo
python3 dependency_analyzer.py demo

External Memory RAG

# Index files
python3 external_memory_rag.py index --project-root PATH [--save FILE] [--no-embeddings]

# Search
python3 external_memory_rag.py search --project-root PATH --query QUERY [--top-k N] [--method METHOD]

# Generate context
python3 external_memory_rag.py context --project-root PATH --query QUERY [--top-files N]

# Demo
python3 external_memory_rag.py demo

🤝 Contributing

Contributions welcome! These tools solve real problems - if you have ideas for improvements, please open an issue or PR.


📜 License

MIT License - See LICENSE file for details


🔗 Links


Built with SPQR methodology - Problem-first, solution-driven development

About

LLM Development Tools: Dependency Analyzer & External Memory RAG - Solve real developer pain points

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages