vfp-inspect.
Understand your Visual FoxPro system before modernizing it
Turn a legacy Visual FoxPro codebase into navigable knowledge, traceable requirements and an evidence-based migration plan.
Visual FoxPro systems that support important processes often carry years of business rules spread across forms, PRGs, events, aliases, work areas, cursors and integrations. The biggest risk in modernization is not writing the new system: it is discovering too late a behavior that nobody knew existed.
vfp-inspect was created to reduce that risk.
From legacy code to a system map
The tool reconstructs the inventory, dependencies, data reads and writes, screens and workflows, structural behavior, use cases, candidate functional domains, technical risks, migration architecture and observed requirements, with traceability back to the code.
Which behaviors need to survive the migration?
vfp-inspect does not assume that a VFP file should become an equivalent class or service. It first organizes the behavior that must be preserved, then makes that knowledge available to people and software agents.
Evidence before opinion
| Class | Meaning |
|---|---|
| Observed | Directly supported by the analyzed code. |
| Inferred | A likely interpretation that still needs validation. |
| Open question | Behavior that could not be reliably determined. |
Explore visually
vfp-inspect web ./meu-projetoThe Web Explorer presents symbols, dependencies, screens, data, use cases, risks, migration architecture and evidence. Mermaid diagrams help visualize dependencies, behavior, data, use cases and migration.
Incremental modernization
vfp-inspect helps divide modernization into functional capabilities and verifiable increments, with coexistence, an anti-corruption layer when needed, parity criteria, data validation and rollback.
Who it is for
- Maintenance: faster investigation and less reliance on tribal knowledge.
- Architecture: couplings and candidate boundaries before deciding on the future solution.
- Modernization: verifiable requirements and an incremental sequence before a rewrite.
- Applied AI: structured context and evidence instead of thousands of files without a map.
Example corpus
In a sample system, the corpus used during development, the tool reconstructed:
- Candidate use cases
- 25
- Entities / data targets
- 46
- UI events
- 107
- Observed requirements
- 841
All 841 requirements have associated evidence. These numbers describe only the development corpus; they are not a promise of universal results.
What we do not promise
We do not promise perfect automatic translation, infallible discovery of dynamic behavior, that co-usage implies a foreign key, that clusters are automatically microservices, or a replacement for expert validation.
The aim is more useful: reduce uncertainty and make the knowledge used for maintenance and migration decisions verifiable.
Discover. Explore. Verify. Modernize.