repo-structure-never-tests-inside-src
Sub-skill of repo-structure: NEVER: tests/ inside src/ (+7).
Best use case
repo-structure-never-tests-inside-src is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of repo-structure: NEVER: tests/ inside src/ (+7).
Teams using repo-structure-never-tests-inside-src should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/never-tests-inside-src/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How repo-structure-never-tests-inside-src Compares
| Feature / Agent | repo-structure-never-tests-inside-src | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of repo-structure: NEVER: tests/ inside src/ (+7).
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# NEVER: tests/ inside src/ (+7) ## NEVER: tests/ inside src/ ``` src/digitalmodel/asset_integrity/tests/ ← WRONG tests/asset_integrity/ ← CORRECT ``` Tests must never live inside the package tree. They belong in `tests/<domain>/`. ## NEVER: Generated/output files in tests/ ``` tests/output/ ← WRONG (committed artifacts) tests/outputs/ ← WRONG (committed artifacts) ``` Add to `.gitignore`. These dirs hold generated test artifacts, not test code. ## NEVER: tests/unit/ wrapper (flat domain layout only) ``` tests/unit/well/ ← WRONG (unit/ is a redundant wrapper) tests/unit/metocean/ ← WRONG tests/well/ ← CORRECT tests/metocean/ ← CORRECT ``` The test root mirrors `src/<pkg>/` directly. No intermediate `unit/` or `modules/` wrapper. ## NEVER: Catch-all dirs in tests/ or src/ ``` tests/phase2/ ← WRONG (unnamed, no meaning) tests/phase3/ ← WRONG src/worldenergydata/modules/ ← WRONG (catch-all at package level) ``` Every directory must map to a specific domain. Phased catch-all dirs must be migrated to domain-aligned paths before merging. ## NEVER: kebab-case dirs in src/ Python tree ``` src/digitalmodel/visualization/orcaflex-dashboard/ ← WRONG (cannot be a Python package) src/digitalmodel/visualization/orcaflex_dashboard/ ← CORRECT ``` All directories under `src/<package>/` must be snake_case — Python cannot import kebab dirs. ## NEVER: WRK deliverable reports in docs/ ``` worldenergydata/docs/wrk-083-export-validation-report.md ← WRONG workspace-hub/.Codex/work-queue/done/WRK-083.md ← CORRECT ``` WRK deliverables live only in `workspace-hub/.Codex/work-queue/`. Submodule `docs/` is for reference documentation, not session work products. ## NEVER: Three or more parallel archive dirs ``` tests/_archived/ ← consolidate tests/_archived_tests/ ← consolidate tests/legacy_tests/ ← consolidate tests/_archive/ ← CORRECT (single archive dir) ``` ## NEVER: Non-Python files loose in src/ package tree Non-Python files in `src/` create invisible coupling between package code and static assets. They cannot be tested as Python modules and confuse linters and type-checkers. | File type | Wrong location | Correct location | |-----------|---------------|-----------------| | `.md` documentation | `src/<pkg>/bsee/docs/` | `docs/domains/bsee/` | | `.ipynb` notebooks | `src/<pkg>/specialized/gis/` | `notebooks/gis/` | | `.yml` config | `src/<pkg>/specialized/gis/arcgis.yml` | `config/gis/arcgis.yml` | | Empty `__init__.py`-only dirs | anywhere in src/ | DELETE | **Exception — package resources**: `.sql` query files and `.html` Jinja templates that are loaded at runtime via `importlib.resources` MAY remain inside `src/<pkg>/<domain>/sql/` or `src/<pkg>/<domain>/templates/`. **Required**: they MUST be declared in `pyproject.toml`: ```toml [tool.setuptools.package-data] "worldenergydata.bsee" = ["sql/*.sql", "templates/*.html"] ``` Without this declaration, pip install will silently omit them. **Quick scan for violations:** ```bash # Non-Python files in src/ find src/ -not -name "*.py" -not -name "*.pyc" -not -path "*/__pycache__/*" \ -not -path "*/.git/*" -not -name "__init__.py" | grep -v ".egg-info" ``` ---
Related Skills
interactive-report-generator
Generate interactive HTML reports with Plotly visualizations from data analysis results. Supports dashboards, charts, and professional styling.
data-validation-reporter
Generate interactive validation reports with quality scoring, missing data analysis, and type checking. Combines Pandas validation, Plotly visualization, and YAML configuration for comprehensive data quality reporting.
repo-ecosystem-hygiene
Interpret the daily read-only repo ecosystem hygiene audit and route remediation through approved workflows.
orcaflex-reporting-fixture-proof-pattern
Build and extend fixture-backed OrcaFlex reporting proof paths in digitalmodel using stable metadata baselines, normalized HTML snapshots, and reusable reporting test helpers.
repo-sync
Smart repository synchronization across workspace-hub ecosystem — diagnoses and fixes pull failures (detached HEAD, diverged branches, uncommitted changes)
repo-structure
Canonical source layout, test mirroring, root cleanliness, gitignore, docs classification, and committed artifact rules for all workspace-hub tier-1 repos. Consult before creating directories or files in any submodule.
repo-portfolio-steering
Generate a one-page portfolio steering report for workspace-hub. Use when the user invokes /repo-portfolio-steering, asks about harness vs engineering balance, wants a portfolio health check, or asks which repos to fund next. Reports on portfolio steering, GTM readiness, and provider activity balance.
repo-mission-portfolio-audit
Audit the workspace-hub repo portfolio to extract each repo's mission, identify documentation gaps, and prioritize a plan/approval sequence with explicit LLM-wiki weighting for future issue triage.
mixed-ops-vs-repo-fix-plan-boundary
Plan mixed operational-vs-repo remediation issues by proving live-state classification first, then only proposing code changes for confirmed repo-owned failure paths.
repo-separation-for-sensitive-data
Architecture pattern for splitting confidential data and reusable algorithms across repos
nested-git-repo-stash-safety
How to safely stash changes in a parent repo containing dirty nested git repositories
multi-repo-sync-diagnosis-repair
Diagnose and repair failed pulls across multi-repo ecosystems with stale locks, submodule conflicts, and untracked files