domains / research / research-project-structure / project-structure
The two skills share the name 'project-structure' but define entirely different procedures. The first is a .NET build configuration guide covering .slnx, Directory.Build.props, and SourceLink. The second is a research code organization guide covering Python/Stata script naming, data folder hierarchies, and logging conventions. Neither is a reproduction of the other; they are distinct domain-specific standards.
| Repository | Path |
|---|---|
| Aaronontheweb/dotnet-skills | skills/project-structure/SKILL.md |
| brycewang-stanford/Auto-Empirical-Research-Skills | skills/30-zirui-song-claude-skills/project-structure/SKILL.md |
| Role | Repository | Path |
|---|---|---|
| peer | Aaronontheweb/dotnet-skills | skills/project-structure/SKILL.md |
| peer | brycewang-stanford/Auto-Empirical-Research-Skills | skills/30-zirui-song-claude-skills/project-structure/SKILL.md |
# Project Structure This skill covers two distinct project structure standards. Select the section relevant to your project type. ## 1. .NET Project Structure Use this for .NET solutions. ### Solution File (.slnx) - Use the `.slnx` XML format for .NET 9.0.200+. - Migrate from `.sln` using `dotnet sln migrate`. - Do not keep both `.sln` and `.slnx` in the same repository. ### Directory.Build.props - Place at the solution root for centralized configuration. - Include metadata (Authors, Company, Copyright), C# settings (LangVersion, Nullable), and SourceLink configuration. - Use `Microsoft.SourceLink.GitHub` for source linking. ## 2. Research Project Structure Use this for empirical research projects using Python and Stata. ### Directory Layout - `Code/`: Analysis scripts and logs. - `Data/`: Subfolders for `Raw/`, `Intermediate/`, and `Clean/`. - `Results/`: Subfolders for `Tables/` and `Figures/`. ### Script Naming - **Data Processing:** `[Number]_[Descriptive].py` (e.g., `0_ExtractData.py`). - **Analysis:** `AN_[Number]_[Descriptive].py` or `.do` (e.g., `AN_1_DescribeSample.py`). ### Script Patterns - **Python:** Include a `get_project_root()` function for path management. - **Stata:** Define global paths for data and results, and use `log using` to save logs to `Code/LogFiles/`.