smithery.ai

Initialize New Python Project

Setup a new python project in this directory.

Installation

$ npx skills add https://smithery.ai

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery.ai · top by installs.

npx skills add https://smithery.ai

Browse all from smithery.ai

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 1,514 B
  • docs SUMMARY.md 82 B

History

  1. First recorded snapshot · 1 installs

SKILL.md

New python projects must use the following:

  • They must use uv. Use uv init --name=<project-name> .

- If this is for a cli or other package then use uv init --name=<project-name> --package .

  • Setup pre-commit hooks using pre-commit. The pre-commit hooks should include ruff check and formatting, and ty type checks.
  • All dependencies should be add using uv add to ensure the latest versions are used.
  • The directory structure should contain the following:

- main.py: initially binary for the project, this should be pretty minimal - pyproject.toml: configured by the uv init tool - README.md: a brief description of the project and how to run it - .gitignore: ignore files that should not be committed to git - .pre-commit-config.yaml: configuration for pre-commit hooks - <project-name-dir>/: directory for the project's source code - <project-name-dir>/init.py: empty file to mark the directory as a python package

  • If this is being initialized from a design or scope, create a symlink to the design or scope directory, and ensure it is git ignored.
  • Always prefer async when possible

Common technologies that should be used based on the project:

  • For a web server use FastAPI
  • Pydantic should be used for data validation and serialization
  • Typer should be used for command-line interfaces
  • SQLAlchemy should be used for database interactions