Python project conventions

Enforce Python project conventions with standard Make targets.

147|5|Updated Jan 11, 2026
One-click install
npx skills add https://github.com/rcarmo/agentbox --skill python-project-conventions
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Python project conventions
Source: https://github.com/rcarmo/agentbox/tree/main/skel/.github/skills/python
Command: npx skills add https://github.com/rcarmo/agentbox --skill python-project-conventions

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Projects often lack consistent Python development workflows, causing onboarding friction and configuration drift. This Skill defines a repeatable approach to install, lint, format, test, and measure coverage using Make targets.

Core Features & Use Cases

  • Standard Make targets for install, install-dev, lint, format, test, coverage, and check.
  • Clear expectations for repository structure (pyproject.toml or requirements*.txt, src/ or top-level package, tests/).
  • Use in onboarding, CI pipelines, and multi-repo environments to enforce consistency and reduce setup time.

Quick Start

Create a new Python project and use Make to drive install, lint, format, and test tasks.

Frequently Asked Questions about Python project conventions

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I standardize Python project structure and lint, format, and test commands across multiple repositories?

Standardize Python project structure by enforcing a consistent source layout under src/ or a top-level package, tests under tests/, and dependency files like pyproject.toml or requirements*.txt. This reduces onboarding friction and configuration drift across multi-repo environments by providing repeatable Make targets for install, lint, format, test, and coverage.

What Make targets should a Python project include for CI pipelines and local development?

A Python project should include standard Make targets for install, install-dev, lint, format, test, coverage, and check. These targets drive consistent development workflows and CI pipelines, ensuring code quality and test coverage are validated uniformly across new and existing repositories.

Does this Python project convention work with pyproject.toml and top-level package layouts?

Yes, this Python project convention validates the presence of pyproject.toml or requirements*.txt files. It explicitly supports expected source layouts under src/ or a top-level package, and requires tests to be located under tests/, accommodating standard Python repository structures.

What is the best way to onboard new Python projects to prevent configuration drift?

The best way to onboard new Python projects is to apply standardized Make targets for install, lint, format, test, and coverage. This enforces consistent project conventions from the start, specifying requirements like pyproject.toml and expected source layouts to prevent configuration drift and reduce setup time.

Why do I need a Makefile for my Python development workflow?

You need a Makefile for your Python development workflow to define repeatable targets for install, lint, format, test, and coverage. This solves the problem of inconsistent development workflows across projects, ensuring that CI pipelines and local maintenance tasks execute consistently without manual setup errors.

Can I use this approach to enforce Python project conventions in existing repositories?

Yes, you can use this approach to enforce Python project conventions in existing repositories. It validates the presence of pyproject.toml or requirements*.txt, checks for expected source layouts under src/ or top-level packages, and ensures tests reside under tests/, applying consistent Make targets to ongoing maintenance workflows.