Summary
The repository structure should be reorganized to better reflect the current state of the project and to clearly separate Rust and C++ components. This change will improve maintainability, reduce onboarding confusion, and align folder and solution naming with their actual responsibilities.
Motivation
The repository has evolved beyond its original layout, but the current structure and solution names no longer accurately describe what each component represents. In particular:
- Rust and C++ code are interleaved at the top level.
- Solution names do not clearly reflect their purpose or scope.
- New contributors may find it difficult to understand where to add or modify code.
Proposed Changes
Language-Based Top-Level Structure
Reorganize the repository to group code by language:
/rust — all Rust-related code
/cpp — all C++-related code
C++ Solution and Folder Renaming
- The existing
VbsEnclaveTooling solution primarily builds the edlcodegen executable.
- Rename the solution to
edlcodegen.
- Move its source code and dependencies under:
- The current
vbs_enclave_implementation_library solution represents the enclave SDK as a whole.
- Rename this solution to
vbs_enclave_sdk.
- No namespace changes are required; existing namespaces can remain unchanged.
This reorganization will require updating references in:
.vcxproj and .sln files
- Build scripts
- CI/CD pipeline templates
While this touches several areas, the changes should be largely a structural refactor only.
Summary
The repository structure should be reorganized to better reflect the current state of the project and to clearly separate Rust and C++ components. This change will improve maintainability, reduce onboarding confusion, and align folder and solution naming with their actual responsibilities.
Motivation
The repository has evolved beyond its original layout, but the current structure and solution names no longer accurately describe what each component represents. In particular:
Proposed Changes
Language-Based Top-Level Structure
Reorganize the repository to group code by language:
/rust— all Rust-related code/cpp— all C++-related codeC++ Solution and Folder Renaming
VbsEnclaveToolingsolution primarily builds theedlcodegenexecutable.edlcodegen.vbs_enclave_implementation_librarysolution represents the enclave SDK as a whole.vbs_enclave_sdk.This reorganization will require updating references in:
.vcxprojand.slnfilesWhile this touches several areas, the changes should be largely a structural refactor only.