Skip to main content

Project Terminology

This document explains the key terminology and concepts used in Project Mapper's codebase and documentation.

Core Concepts​

Knowledge Transfer​

In Project Mapper, "knowledge transfer" refers to the process of extracting and summarizing project knowledge in a format that's optimized for LLMs. The knowledge transfer document is the main output of the tool, designed to help AI assistants understand your codebase.

Analysis​

Analysis is the process of examining a project's structure, files, and code to extract meaningful information. Project Mapper performs several types of analysis:

  • Structure analysis: Identifies files, directories, and their relationships
  • Code analysis: Examines code to extract functions, classes, imports, and exports
  • Semantic analysis: Extracts domain concepts and terminology
  • Dependency analysis: Maps relationships between components

Semantic Understanding​

Semantic understanding refers to the ability to extract and understand domain-specific concepts and terminology from the codebase. This goes beyond simple code structure analysis to understand the meaning and relationships between concepts.

Project Map​

A project map is a comprehensive representation of a project's structure, components, and relationships. It includes both the raw analysis data and the formatted knowledge transfer document.

Technical Terms​

Domain Concept​

A domain concept is a term or idea that's central to understanding the project's domain. Project Mapper identifies domain concepts based on their frequency and distribution throughout the codebase.

Concept Network​

The concept network is a graph representation of domain concepts and their relationships. It helps visualize how different concepts in the project are connected.

Template​

Templates are predefined formats for generating knowledge transfer documents. Project Mapper includes:

  • Standard template: A comprehensive knowledge transfer document
  • Minimal template: A brief summary for quick overviews
  • Detailed template: An in-depth analysis with additional information

Component​

In Project Mapper terminology, a component refers to a major part of the project's architecture. Components might be directories, modules, or logical groupings of functionality.

Entry Point​

An entry point is a file that serves as a main starting point for the application, such as index.js or a CLI file. Project Mapper identifies entry points to understand how the application is initialized.

Dependency Graph​

The dependency graph maps relationships between files in the project, showing which files import or depend on other files. This helps understand the project's structure and data flow.

Important Files​

Important files are key files in the project identified based on various heuristics, such as:

  • Being referenced by many other files
  • Containing many exports
  • Being entry points
  • Having significant functionality

File Type​

Project Mapper categorizes files based on their extensions (e.g., JavaScript, Markdown, JSON) to understand the project's composition and apply appropriate analysis techniques.

Code Analysis Terms​

AST (Abstract Syntax Tree)​

An abstract syntax tree is a tree representation of the structure of source code. Project Mapper uses ASTs to analyze JavaScript/TypeScript code and extract information about functions, classes, imports, and exports.

Export​

Exports are functions, classes, or variables that a module makes available for other modules to use. Project Mapper tracks exports to understand what functionality each module provides.

Import​

Imports are references to functionality from other modules. Project Mapper tracks imports to understand dependencies between modules.

Semantic Analysis Terms​

TF-IDF (Term Frequency-Inverse Document Frequency)​

A numerical statistic used in natural language processing to identify important terms in documents. Project Mapper uses TF-IDF to identify domain concepts based on their frequency and uniqueness.

N-gram​

An n-gram is a contiguous sequence of n items from a given sample of text. Project Mapper uses n-grams (especially bigrams and trigrams) to identify multi-word concepts that appear frequently together.

Domain Glossary​

The domain glossary is a collection of domain-specific terms and their definitions, generated based on context from the codebase and documentation.

CLI Terms​

Ignore Pattern​

Glob patterns that specify which files or directories to exclude from analysis (e.g., node_modules/**).

Depth​

The maximum directory depth to traverse during analysis, used to limit the scope of analysis for large projects.

Questionnaire​

A set of questions generated based on project analysis to gather additional context about the project from developers.