← All projects
In development

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 FoxProLegacy modernizationCode analysis

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

Classification of analysis findings
ClassMeaning
ObservedDirectly supported by the analyzed code.
InferredA likely interpretation that still needs validation.
Open questionBehavior that could not be reliably determined.

Explore visually

vfp-inspect web ./meu-projeto

The 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.