project-setup

Initialize Python projects with standardized directories, configs, and CI/CD pipelines.

10|Updated Sep 26, 2024
One-click install
npx skills add https://github.com/Harvest-Forged-Code/Analyser --skill project-setup-harvest-forged-code
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: project-setup
Source: https://github.com/Harvest-Forged-Code/Analyser/tree/main/.claude/skills/project-setup
Command: npx skills add https://github.com/Harvest-Forged-Code/Analyser --skill project-setup-harvest-forged-code

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and scripts (resource) components.

What problem does it solve?

This Skill automates the creation of robust, production-ready Python project structures, saving developers significant time and ensuring adherence to best practices from the outset.

Core Features & Use Cases

  • Comprehensive Scaffolding: Generates directory layouts, configuration files (pyproject.toml, .env.example), Docker configurations, and essential scripts (Makefile).
  • Type-Specific Templates: Adapts scaffolding for web APIs, data pipelines, ML projects, and Python libraries.
  • Integrated Tooling: Sets up linters (Ruff), formatters, type checkers (MyPy), and testing frameworks (Pytest).
  • Use Case: When starting a new FastAPI web API project, this Skill will create the necessary folders, pyproject.toml with FastAPI dependencies, a basic main.py, config.py, Dockerfile, and a Makefile for common development tasks.

Quick Start

Use the project-setup skill to initialize a new web-api project named 'user_service' using FastAPI.

Frequently Asked Questions about project-setup

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

FAQPage Schema
How do I bootstrap a new Python project with CI/CD and linting?

To bootstrap a Python project, this tool automates creating directory structures, configuration files like pyproject.toml, and CI/CD pipelines. It integrates Ruff, MyPy, and Pytest to enforce best practices from the start.

Can I generate boilerplate for specific Python project types like data pipelines?

Yes, you can generate boilerplate for specific types including data pipelines, ML projects, web APIs, and Python libraries. The scaffolding adapts directory layouts and configurations to fit your chosen project type.

What configuration files are included when setting up a new Python project?

Setting up a Python project includes generating pyproject.toml, .env.example, Dockerfile, and a Makefile. These files provide standardized configuration for dependencies, environment variables, and common development tasks.

Does Python project scaffolding support FastAPI web APIs?

Python project scaffolding supports FastAPI web APIs by generating necessary folders, pyproject.toml with FastAPI dependencies, a basic main.py, config.py, Dockerfile, and a Makefile for streamlined development.

What's the best way to integrate Ruff and MyPy into a new Python repository?

The best way to integrate Ruff and MyPy is through automated project initialization, which configures these linters and type checkers alongside Pytest within your pyproject.toml during the scaffolding process.

Why use automated scaffolding instead of manually creating a Python project structure?

Automated scaffolding saves significant development time by instantly creating a standardized, production-ready Python project structure with best practice CI/CD pipelines, ensuring robust configurations from the outset.