DOCUMENTATION

Get to know your codebase.

From your first local folder to tracing a dependency path. A practical guide to the Codefield workspace.

Browse documentation

Getting started

Codefield maps static relationships in a local folder. Use Graph for dependencies and Structure for the directory hierarchy. Repository code is never executed.

  1. Install Codefield for your platform.
  2. Open a folder containing source files in a supported language.
  3. Select a file to see its details and relationships in the inspector.
  4. Explore its potential impact, or find a path to another file.

Any local folder with supported files can be analyzed, whether its changes are committed or not.

Windows & Linux

Install Node.js 20.9 or later. Git is only needed for cloning. The CLI runs locally on Windows and Linux.

Install
npm install -g @keremcanozkurt/codefield

Open your first repository

Terminal
cd my-project
codefield .

Codefield opens a local session URL in your browser. Keep the terminal running while you explore; press Ctrl+C to stop. The printed URL contains a private session token.

Open another folder

Terminal
codefield <folder>
codefield /path/to/project
codefield "C:\Users\you\My Project"

A bare codefield uses the current folder. Pass a path to open a different one; folder selection happens in the terminal.

CLI options
OptionUse
--no-openPrint the local address without opening a browser.
--port <number>Choose a port. The default starts at 4173 and tries the next free port up to 4192.
--helpShow available commands and options.
--versionShow the installed version.

macOS

The native app is functional as an unsigned preview. It is not yet Developer ID signed and notarized with Apple, and public download availability is being prepared. See Downloads before looking for an installer.

Use Open Repository (⌘O), drag a folder onto the window, or choose File → Open Recent. The app remembers access to recent folders through macOS security-scoped bookmarks. Open another window for another repository.

Choose File → Clone Git Repository to clone into a folder you select. Use Analyze Again (⌘R) after editing, pulling or switching branches. Find File (⌘F) focuses the workspace search.

Analysis needs no Node.js installation or local server. Building from source currently requires Xcode 27 and macOS 27, as described in the macOS repository.

macOS may show a Gatekeeper warning for an unsigned build. Check the download’s origin before opening it. If you are unsure, wait for a signed release. You do not need to disable Gatekeeper to use these docs.

Graph

Each source file is a node near its directory peers. Directed edges show relationships resolved within the repository. A → B means A depends on B, for example by importing it.

Select a file for its path, size, language, references and referenced-by list. The inspector can copy a path or follow a relationship. The overview shows totals, most-referenced files and busiest directories.

The static graph does not model runtime behavior. External packages do not become nodes.

Structure

Structure is a spatial hierarchy, not a conventional file-tree clone. The current directory is centered, its parent is above, neighboring directories are at its sides, and subdirectories and files sit below.

Open a subdirectory to focus it; use the breadcrumb to go back. Single-directory chains can be traversed in one step. Counts show files, subdirectories and internal dependency edges.

Select a file to open the inspector. Show in graph and Show in structure move between views while keeping it selected. Starting Impact Mode or Path Finder from Structure switches to Graph.

Long lists render visible rows only. Filters leave directories in place and show how many files are hidden.

Impact Mode

If this file changes, what could potentially be affected? Select a file and choose Trace impact. Codefield follows reverse, incoming dependency relationships: files importing the selected file, files importing those, and so on.

Results are grouped by depth and use the full graph, including files hidden by filters. Those files are counted and marked as hidden. This shows potential structural dependency impact, not certainty about runtime effects.

Impact Mode and Path Finder are mutually exclusive. Press Escape to leave the active mode.

Path Finder

  1. Select a starting file and choose Find path.
  2. Choose a destination from the graph, search or the inspector’s reference lists.
  3. Inspect the shortest directed chain of dependencies between the files.

Direction matters. A path from A to B does not imply a path from B to A. When no path is found, the inspector offers the reverse direction; that path can be different or absent too.

Equal-length paths resolve consistently by file path. A missing path means the static graph has none in that direction. Path Finder uses the full graph, including files hidden by filters.

Analyze Again

Codefield reads the current working tree. After editing, adding or deleting files, pulling changes or switching branches, choose Analyze Again to refresh the analysis. On macOS, use ⌘R.

The view, selection and filters are preserved as far as the files still exist. No commit or push is needed, and Codefield itself does not need rebuilding. There is currently no automatic file watcher.

Supported languages

The registry contains 17 languages. Strong resolution means file or module references provide more direct relationships. Conservative resolution means namespace and package references yield fewer unambiguous file matches.

Strong resolution

Files & modules
  • TypeScript
  • JavaScript
  • Python
  • Rust
  • Java
  • C
  • C++
  • PHP
  • Ruby
  • Dart
  • Elixir
  • Lua

File and module references provide more direct relationships.

Conservative resolution

Namespaces & packages
  • Go
  • Kotlin
  • C#
  • Scala
  • Swift

Only unambiguous file relationships are kept; graphs can be sparser.

TypeScript and JavaScript support relative imports, index files, and baseUrl / paths from tsconfig or jsconfig. C and C++ follow literal includes. Java, Kotlin and Scala share a type index. Go package imports point to a representative file. Swift and C# namespace or module imports do not by themselves create file edges.

External dependencies and standard libraries are excluded. Ambiguous matches are omitted. Runtime-only relationships, macro expansion and dynamically computed imports can be missed. See the product’s language reference for the full per-language resolution rules.

Privacy & local analysis

Your source code is analyzed locally. Codefield does not require uploading a repository to a cloud analysis service, and it collects no analytics.

  • Windows / Linux: the local process reads the folder selected in the terminal and listens on loopback only. The browser receives graph data: repository-relative paths, sizes, languages and relationships. Source text stays in the local process.
  • macOS: the native app accesses the folders you choose, and analysis runs locally inside its bundled workspace. Recent repositories are remembered without storing source code or credentials.

Analysis reads source and configuration as text; repository scripts, builds and code are not executed. Symbolic links are not followed. Git clone and external support links can use the network.

Git & cloning

A Git repository is optional. When Git metadata is available, Codefield shows the branch and origin by reading metadata files. It does not need to run project Git commands to inspect the repository.

Terminal
codefield clone <remote> [folder]
codefield clone [email protected]:user/project.git
codefield clone https://git.example.com/team/project.git work/project

Replace <remote> and [folder] with your own values. Without a folder argument, the CLI names the destination after the repository. An existing, nonempty destination is refused. The resulting working copy is yours: Codefield does not update or delete it.

Git uses your existing SSH keys, agent, configuration and credential helpers. Codefield does not read credentials, ask for passwords or tokens, or accept unknown host keys on your behalf. A terminal clone can prompt through Git; macOS cloning is noninteractive, so complete authentication and host-key setup in Terminal first.

On macOS, choose File → Clone Git Repository and select a destination. Opening a repository subfolder may not show its branch because the sandbox cannot read parent folders.

PNG export

Use Export PNG to save the Graph view. Active Impact Mode or Path Finder highlighting is included. The CLI edition uses your browser’s normal download behavior. On macOS, the first export asks you to choose an export folder. The app remembers that folder and saves later exports there directly. Choose File → Choose Export Folder… to change it. The save confirmation includes the file name and a Show in Finder action.

Exported images may contain repository paths and filenames. Review the image before sharing it.

Troubleshooting

No supported files or an unexpectedly sparse graph

Open a folder containing source files in the supported languages. Dependency, version-control and build-output directories are skipped. Declaration files, minified bundles, symbolic links and individual files larger than 1 MiB are not analyzed. Read the analysis notices for skipped, unreadable or unparseable files. A source file can appear without a resolved dependency.

A large repository takes time

There is no fixed file-count limit. Analysis, layout and rendering use memory and depend on your hardware. The CLI stops analysis when selected source text exceeds its 768 MiB guard. Try opening a smaller subfolder and use filters to focus exploration. Filtering does not reduce the analysis workload.

The browser did not open

Keep the CLI process running and open the local URL it prints. Use --no-open to request a printed URL, or --port to choose another port. If your session has stopped, run Codefield again and use the new session URL.

Cloning fails

Check that Git is installed and that git clone <remote> works in your terminal. Read Git’s error output. Verify the remote, permissions, network access, SSH host key and credentials. Choose an empty destination. Codefield does not bypass authentication failures.

macOS shows a warning

The current preview is unsigned and not notarized. Check the distribution status and download origin. If you are unsure, wait for a signed release. Do not disable Gatekeeper globally.

Still stuck? Visit Support or read the FAQ.

Contributing

Parser edge cases, analysis improvements, platform fixes and documentation are all useful contributions. Start with the relevant product repository:

Review its README and LICENSE, fork the repository, make a focused change, run the documented checks and open a pull request describing the problem and your validation. For a bug report, include a small reproducible example without private code or credentials.

Both products are source-available under PolyForm Noncommercial 1.0.0. No separate contributor agreement is stated here; consult the repositories’ current guidance and license before contributing.

License

Codefield is source-available under the PolyForm Noncommercial License 1.0.0. You can read, fork and modify it for personal and non-commercial use. Commercial use requires permission from Kerem Can Özkurt.

Read the full terms in the Codefield license or the macOS license. For questions, contact [email protected].