Skip to content

Latest commit

 

History

History
35 lines (26 loc) · 2.52 KB

File metadata and controls

35 lines (26 loc) · 2.52 KB

Repository layout

Top-level files

Path Role
README.md Short entry point; links to AGENTS.md and docs/
samples/ Optional teaching artifacts (e.g. hello.roboexe for RoboSharp.Player)
RoboSharp.slnx XML solution (SDK 10+), folders for src/ and tests/
Directory.Build.props Shared MSBuild properties: TFM, nullable, analyzers, artifacts output, test project defaults
Directory.Build.targets Shared MSBuild targets (placeholder for repo-wide custom targets)
Directory.Packages.props Central package versions (CPM)
global.json SDK version band and rollForward
nuget.config Package sources (nuget.org only after <clear />)
.editorconfig Editor and .NET code style
.gitignore Ignores artifacts/, bin/, obj/, IDE cruft, test results
AGENTS.md Architecture, dependency rules, teaching mission
.gitattributes Repo-wide text=auto eol=lf plus explicit/binary overrides
.githooks/UpdateSlnx.cs .NET 10 file-based app (#:property overrides) that regenerates RoboSharp.slnx
.githooks/ Git hooks (pre-commit, README.md); set core.hooksPath to .githooks

RoboSharp.slnx lists docs, infrastructure files, and all projects. Do not hand-edit project lists for long; refresh with git commit (pre-commit regenerates the solution—see Build and test). Use dotnet run --file .githooks/UpdateSlnx.cs only when hooks are not in use.

Documentation tree

  • Hand-written pages live under docs/ (nested directories on disk are fine).
  • docs/diagrams/ holds generated Mermaid Markdown from .githooks/GenerateDocDiagrams.cs; docs/diagrams/architecture/ adds another level on disk. In RoboSharp.slnx, each distinct directory becomes a top-level <Folder Name="/docs/.../"/> (siblings under <Solution>), so the IDE shows nested sections without invalid nested-folder XML. Pre-commit runs diagram generation then UpdateSlnx on each commit.

Source and test projects

src/ and tests/ mirror the layout described in AGENTS.md: language, semantics, IL, runtime, world, IO, workspaces, toolchain, application, hosting, and hosts (Player, Studio, Web), plus matching test projects and RoboSharp.Architecture.Tests.

Dependency direction (summary)

Hosts and application layers depend inward. Inner layers do not reference hosts or UI. The full rule set and rationale are in AGENTS.md under Dependency direction.