Directory Structure

May 26, 2026 · View on GitHub

Project Layout

LibMan/
├── README.md                    ← Main project README
├── CMakeLists.txt              ← CMake configuration
├── CMakePresets.json           ← CMake presets
├── libman.pro                  ← QtCreator project file

├── 📁 .vscode/                 ← VS Code configuration
│   ├── tasks.json              ← Build/Run/Test tasks
│   ├── settings.json           ← Compiler & CMake settings
│   ├── launch.json             ← Debug configurations
│   ├── extensions.json         ← Recommended extensions
│   └── README.md               ← VS Code quick reference

├── 📁 docs/                    ← All documentation
│   ├── INDEX.md                ← Documentation hub (START HERE)
│   │
│   ├── getting-started/        ← For new users
│   │   ├── QUICK_START.md      ← 5 minute setup
│   │   ├── DEPENDENCIES.md     ← Install ZLIB
│   │   └── SETUP_VERIFICATION.md ← Verify your setup
│   │
│   ├── setup/                  ← Setup guides
│   │   ├── VSCODE_SETUP.md     ← VS Code configuration
│   │   └── DIRECTORY_STRUCTURE.md ← This file
│   │
│   └── reference/              ← Reference & advanced
│       ├── QUICK_REFERENCE.md  ← Keyboard shortcuts
│       ├── VSCODE_ADVANCED.md  ← Customization
│       └── TROUBLESHOOTING.md  ← Common issues

├── 📁 src/                     ← Source code
│   ├── main.cpp
│   ├── mainwindow.h/cpp
│   └── ... other source files

├── 📁 tests/                   ← Test suite
│   ├── tests.pro               ← QtCreator test project
│   ├── main.cpp
│   ├── tst_*.cpp/h             ← Test files
│   └── build/                  ← Test build output

├── 📁 build/                   ← Main build output
│   ├── src/LibMan.exe          ← Executable
│   ├── CMakeFiles/
│   ├── Makefile
│   └── compile_commands.json

├── 📁 icons/                   ← Application icons
├── 📁 pics/                    ← Images/resources
├── 📁 gds/                     ← GDS file handling
├── 📁 oas/                     ← OAS file handling
├── 📁 lstream/                 ← LStream file handling
├── 📁 extension/               ← Qt extensions
├── 📁 QtPropertyBrowser/       ← Property browser widget

├── 📁 .deps/lstream/           ← LStream schema repo (cloned on first build)
├── 📁 capnproto/               ← Cap'n Proto sources (cloned; gitignored)
├── 📁 capnp-install/           ← Cap'n Proto install prefix + capnp_install_stamp
├── 📁 capnp/                   ← Generated schema C++ (.capnp.cc / .h)

└── ... other files (coverage.*, scripts, installer, etc.)

Documentation Organization

📚 docs/ (Main Documentation Hub)

Location: docs/INDEX.md
Purpose: Central navigation for all documentation

🚀 docs/getting-started/ (For New Users)

FilePurpose
QUICK_START.md5-minute setup guide
DEPENDENCIES.mdHow to install ZLIB
SETUP_VERIFICATION.mdVerify your setup

When to use: First time using LibMan

⚙️ docs/setup/ (Setup Guides)

FilePurpose
VSCODE_SETUP.mdVS Code configuration details
DIRECTORY_STRUCTURE.mdFile organization (this file)

When to use: Need detailed setup info

📖 docs/reference/ (Reference & Advanced)

FilePurpose
QUICK_REFERENCE.mdShortcuts, common tasks
VSCODE_ADVANCED.mdAdvanced customization
TROUBLESHOOTING.mdCommon issues & fixes

When to use: Development and customization


Build Directories

Main Build: build/

build/
├── src/
│   ├── LibMan.exe        ← Executable (after build)
│   └── CMakeFiles/
├── CMakeFiles/
├── CMakeCache.txt
├── Makefile
└── compile_commands.json ← For IDE integration

Created when: First CMake configuration
Used for: Building LibMan application

Test Build: tests/build/

tests/build/
├── CMakeFiles/
├── CMakeCache.txt
├── Makefile
├── ctest executable   ← Test runner
└── *.exe             ← Individual test executables

Created when: First test configuration
Used for: Building and running tests


Hidden/Excluded Directories

These folders are hidden from VS Code Explorer:

DirectoryPurposeWhy Hidden
build/Main build artifactsLarge, often regenerated
tests/build/Test build artifactsLarge, often regenerated
.deps/External dependenciesAuto-generated, not needed
capnproto/Cap'n Proto git cloneGitignored; see BUILD.md
capnp-install/Cap'n Proto install + stampGitignored
capnp/Generated Cap'n Proto / LStream C++Gitignored (sources committed under capnp/ may exist until regen)
.deps/lstream/LStream schema repositoryGitignored
lstream/LStream C++ integration (project source)In repo
coverage.*Coverage report filesGenerated files

Source Organization

Application Code: src/

Main application source files:

  • mainwindow.h/cpp - Main UI window
  • main.cpp - Entry point
  • *.h/cpp - Other components

Tests: tests/

Test suite organized by component:

  • tst_*.cpp - Test files
  • tests.pro - Qt test project

Supporting Libraries

  • gds/ - GDS file format support
  • oas/ - OAS file format support
  • lstream/ - LStream file format support
  • extension/ - Qt property browser extensions
  • QtPropertyBrowser/ - Qt widget library

Configuration Files

FilePurpose
CMakeLists.txtMain CMake project file
CMakePresets.jsonCMake build presets
libman.proQtCreator project file
DoxyfileDoxygen documentation config

Key File Paths

Source:          src/main.cpp
Headers:         src/*.h
Tests:           tests/tst_*.cpp
Build output:    build/src/LibMan.exe
Test executable: tests/build/tst_*.exe
Documentation:   docs/INDEX.md
VS Code config:  .vscode/tasks.json
CMake config:    CMakeLists.txt

Accessing Files in VS Code

Quick File Navigation

  • Ctrl+P - Open file by name
  • Ctrl+Shift+P - Command palette
  • Ctrl+Shift+F - Search in files

These don't appear in file search:

  • build/
  • .deps/
  • capnproto/
  • lstream/
  • coverage.*

Back to: Documentation Index | VS Code Setup