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.