Introduction
This guide walks you through every step of modernizing a repository, from analysis to PR creation. You’ll understand what happens behind the scenes and how to interpret the results.Before starting, make sure you’ve completed the Quick Start and are authenticated via GitHub OAuth.
Step 1: Selecting a Repository
Choose a repository to modernize. For your first time, we recommend:Good First Candidates
- Small to medium size (10-50 files)
- Active development (so you can see the impact)
- Non-production (for safety during learning)
- JavaScript/TypeScript or Python (best support)
Repository Types
- Your Own Repository
- Someone Else's Repository
Dependify creates a branch directly in your repository.Advantages:
- No fork needed
- Direct PR creation
- Cleaner workflow
- You must have push access
- Repository can be public or private
Paste the URL
In the Dependify dashboard:- Find the repository input field
- Paste the full GitHub URL:
https://github.com/owner/repo - Click “Analyze Repository”
Step 2: Analysis Phase
What Happens
Dependify runs the analysis phase using Modal containers:- Clones the repository to a temporary staging area
- Scans all files for supported languages (JS, TS, Python)
- Detects outdated syntax patterns using regex and AST parsing
- Creates a job list of files that need modernization
What You’ll See
File Scanning
Analysis Time
| Repository Size | Typical Duration |
|---|---|
| < 10 files | 15-30 seconds |
| 10-50 files | 30-60 seconds |
| 50-100 files | 1-2 minutes |
| 100+ files | 2-3 minutes |
If no outdated files are found, Dependify returns early with a success message. No PR is created.
Step 3: Refactoring Phase
This is where the magic happens. Dependify uses AI-powered refactoring to modernize your code.Parallel Processing
- Each file is processed in its own container
- Files are sent to Groq AI (llama-3.1-8b-instant or llama-3.3-70b-versatile)
- Refactored code is validated for syntax correctness
- Confidence scores are calculated (0-100%)
What You’ll See
Real-Time Progress
- 🟢 Green (80-100%): High confidence, likely safe to merge
- 🟡 Yellow (60-79%): Medium confidence, review carefully
- 🔴 Red (< 60%): Low confidence, manual verification required
AI Processing Details
For each file, the AI:- Analyzes the code structure and patterns
- Identifies specific outdated syntax (e.g.,
var→const/let) - Refactors using modern best practices
- Explains the changes in plain English
- Validates the output for correctness
- Calculates a confidence score
Processing time scales with repository size but benefits from parallelization. A 50-file repo takes about as long as a 10-file repo.
Step 4: Changelog Generation
Dependify generates a comprehensive, AI-explained changelog for your PR:Changelog Contents
The changelog includes:- Summary of changes (what was modernized and why)
- File-by-file breakdown with before/after comparisons
- Key changes list for each file
- Lines added/removed statistics
- Confidence scores per file
- Language detection and validation status
Example Changelog
dependify-a1b2c3d4
- Unique identifier prevents conflicts
- Easy to identify as Dependify-generated
Fork Handling
- Your Repository
- Others' Repository
- Branch is created directly
- No fork needed
- PR is from
your-branchtomain
Commit Message
PR Submission
Step 6: Reviewing the PR
Your PR is now live on GitHub! Here’s how to review it:1. Open the PR
Click the PR link from the Dependify dashboard or find it in your GitHub notifications.2. Read the Changelog
The PR description contains:- Summary of changes
- File-by-file breakdown
- Confidence scores
- Before/after code samples
3. Review Files Changed
Click the “Files changed” tab to see the diff:High Confidence Files (🟢 80-100%)
These files have been thoroughly validated and are likely safe to approve:
- Modern syntax applied correctly
- No breaking changes detected
- High AI confidence
Medium Confidence Files (🟡 60-79%)
These files should be reviewed more carefully:
- Changes are valid but may need adjustment
- Check for logic changes
- Verify API compatibility
4. Run Your Test Suite
5. Check for Breaking Changes
Common things to verify:- API changes: Did any function signatures change?
- Type changes: Are TypeScript types still correct?
- Dependency updates: Are all imports still valid?
- Runtime behavior: Does the app still work as expected?
6. Request Changes (If Needed)
If you spot issues:- Comment on specific lines in the “Files changed” tab
- Request changes using GitHub’s review feature
- Fix manually by pushing to the same branch
- Close the PR if changes aren’t needed
You can push additional commits to the Dependify branch. They’ll appear in the same PR.
Step 7: Merging
Once you’re satisfied with the changes:- Click “Merge pull request”
-
Choose your merge strategy:
- Create a merge commit (preserves full history)
- Squash and merge (cleaner history, recommended)
- Rebase and merge (linear history)
- Confirm the merge
- Delete the branch (GitHub will offer this option)
Post-Merge Cleanup
- Your Repository
- Forked Repository
Understanding the Results
After modernization, Dependify returns quality metrics:Metrics Explained
- files_analyzed: Total files scanned for outdated syntax
- files_updated: Files with changes in the PR
- average_confidence_score: Mean confidence across all refactored files
- all_files_validated: Whether all files passed syntax validation
- high_confidence_files: Count of files with 80%+ confidence
If
average_confidence_score is below 70%, review the PR extra carefully before merging.Troubleshooting
”No outdated files found”
Cause: Your repository is already using modern syntax! What to do: Nothing. Dependify exits early and doesn’t create a PR.”Failed to create pull request”
Common causes:- No changes to commit - All files were skipped during refactoring
- Branch already exists - A previous Dependify branch wasn’t deleted
- Permission denied - GitHub token lacks
reposcope
Low Confidence Scores
Cause: Complex or unusual code patterns that the AI finds challenging. What to do:- Review these files manually
- Test thoroughly
- Consider rejecting changes to low-confidence files
- Report patterns that consistently get low scores
PR from Fork Not Showing
Cause: Fork creation delay (GitHub can take 5-10 seconds). What to do: Wait a moment and refresh. The PR will appear once the fork is ready.Best Practices
Start Small
Start Small
For your first modernization:
- Choose a small, non-critical repository
- Review every change carefully
- Run tests multiple times
- Get familiar with the workflow
Always Test
Always Test
Never merge without testing:
Review Confidence Scores
Review Confidence Scores
Use confidence scores to prioritize review:
- 🟢 80-100%: Quick scan, approve if tests pass
- 🟡 60-79%: Detailed review, check logic
- 🔴 < 60%: Line-by-line review, manual verification
Keep Forks Clean
Keep Forks Clean
After merging PRs from forks:
- Delete the fork immediately
- Prevents confusion with multiple forks
- Keeps your repository list clean
Iterate and Improve
Iterate and Improve
After your first modernization:
- Note what worked well
- Identify patterns that need manual fixes
- Provide feedback on the GitHub repository
- Run Dependify regularly to keep code modern
Next Steps
API Integration
Automate modernization in your CI/CD pipeline
Development Setup
Run Dependify locally or contribute to the project
Architecture
Understand how Dependify works under the hood
AI Tools
Learn about the AI models powering Dependify