Loading...
Loading...
Bootstrap new Python projects: directory structure, pyproject.toml, pre-commit, uv sync. Use when creating a new project from scratch.
npx skill4agent add quick-brown-foxxx/coding_rules_python setting-up-python-projectsproject/
├── src/appname/
│ ├── __init__.py # __version__ = "0.1.0"
│ ├── __main__.py # Entry point
│ ├── constants.py # Shared constants
│ ├── core/ # Business logic
│ │ ├── models.py # Data types (dataclasses)
│ │ ├── manager.py # Business operations
│ │ └── exceptions.py # Custom exception hierarchy
│ ├── cli/ # CLI interface
│ │ ├── commands.py # Command implementations
│ │ ├── parser.py # Argument parsing
│ │ └── output.py # Formatted output helpers
│ ├── ui/ # Qt GUI (if applicable)
│ │ ├── main_window.py
│ │ ├── dialogs/
│ │ └── widgets/
│ ├── utils/ # Stateless utilities
│ │ ├── paths.py
│ │ └── logging.py
│ ├── wrappers/ # Third-party lib wrappers
│ │ └── some_wrapper.py
│ └── stubs/ # Type stubs for untyped libs
├── tests/
│ ├── unit/
│ ├── integration/
│ ├── fixtures/
│ └── conftest.py
├── scripts/ # Dev utilities
│ ├── bootstrap.py # Setup script
│ └── check_type_ignore.py
├── docs/
│ ├── coding_rules.md # Copy from rules/coding_rules.md
│ └── PHILOSOPHY.md # Copy from PHILOSOPHY.md
├── shared/ # Cross-cutting (logging, shortcuts)
├── AGENTS.md # Copy from templates/AGENTS.md, customize
├── CLAUDE.md # Symlink → AGENTS.md
├── pyproject.toml # Copy from templates/pyproject.toml, customize
├── .pre-commit-config.yaml # Copy from templates/pre-commit-config.yaml
├── .gitignore # Copy from templates/gitignore
└── .vscode/
├── settings.json # Copy from templates/vscode_settings.json
└── extensions.json # Copy from templates/vscode_extensions.jsonmkdir -p src/APPNAME tests/unit tests/integration tests/fixtures scripts docs .vscodetemplates/pyproject.tomlpyproject.toml[project]templates/AGENTS.mdAGENTS.mdtemplates/pre-commit-config.yaml.pre-commit-config.yamltemplates/gitignore.gitignoretemplates/vscode_settings.json.vscode/settings.jsontemplates/vscode_extensions.json.vscode/extensions.jsonrules/coding_rules.mddocs/coding_rules.mdPHILOSOPHY.mddocs/PHILOSOPHY.mdln -s AGENTS.md CLAUDE.md# src/APPNAME/__init__.py
__version__ = "0.1.0"
# src/APPNAME/__main__.py
import sys
def main() -> int:
if len(sys.argv) > 1:
return cli_main() # CLI mode
return gui_main() # GUI mode (if applicable)
if __name__ == "__main__":
sys.exit(main())# tests/test_main.py
from APPNAME.__main__ import main
def test_main_runs(capsys: pytest.CaptureFixture[str]) -> None:
assert main() == 0git init
uv sync --all-extras --group dev
uv run pre-commit install
uv run poe lint_full
uv run poe testuv run poe appuv run poe lint_fulluv run poe test# scripts/bootstrap.py
"""Set up development environment."""
import subprocess
def main() -> None:
subprocess.run(["uv", "sync", "--all-extras", "--group", "dev"], check=True)
subprocess.run(["uv", "run", "pre-commit", "install"], check=True)
print("Development environment ready.")
if __name__ == "__main__":
main()docs/PHILOSOPHY.md| Area | How to adapt |
|---|---|
| Directory layout | Add/remove/rename directories to match the domain. Not every project needs |
| Dependencies | Add domain-specific libraries. Remove unused template defaults. Research current best-in-class libraries for the domain (e.g. SQLAlchemy vs raw asyncpg, Pydantic vs attrs). |
| pyproject.toml | Adjust ruff rules, pytest markers, basedpyright overrides for the domain. Some domains need relaxed rules (e.g. data science may need broader |
| AGENTS.md | Fill TODO sections with project-specific architecture, key decisions, domain vocabulary, and workflows. This is the agent's primary orientation document — make it specific. |
| coding_rules.md | Extend or override rules for the domain. Add domain-specific conventions (e.g. database migration rules, API versioning policy, data validation requirements). |
| Test structure | Adjust to match what matters. A CLI tool needs heavy e2e tests. A library needs heavy unit tests. A web service needs API integration tests. |
| CI/CD | Add domain-appropriate checks (e.g. migration consistency, API schema validation, container builds). |