Project StructureΒΆ

The Py Launch Blueprint project follows a modular and organized directory layout to ensure maintainability and scalability. This section provides an overview of the directory structure and the purpose of each directory and file.

Directory LayoutΒΆ

The project is organized into the following directories:

py-launch-blueprint/
β”œβ”€β”€ tests/                          # Test files
β”œβ”€β”€ docs/                           # Documentation files
β”œβ”€β”€ Justfile                        # Just task runner configuration
β”œβ”€β”€ Makefile                        # Makefile for building the project
β”œβ”€β”€ py_launch_blueprint/            # Source code for the project
└── tests/                          # Test files

Detailed version of the project structure:

py-launch-blueprint/
β”œβ”€β”€ .github/                        # GitHub configuration files
β”‚   β”œβ”€β”€ ISSUE_TEMPLATE/             # Issue templates
β”‚   β”œβ”€β”€ PULL_REQUEST_TEMPLATE       # Pull request templates
β”‚   └── workflows/                  # GitHub Actions workflows
β”œβ”€β”€ docs/                           # Documentation files
β”‚   β”œβ”€β”€ source/                     # Sphinx source files
β”‚   β”‚   β”œβ”€β”€ _static/                # Static assets (CSS, images)
β”‚   β”‚   β”œβ”€β”€ _templates/             # Sphinx template overrides
β”‚   β”‚   β”œβ”€β”€ about/                  # Project context and philosophy
β”‚   β”‚   β”œβ”€β”€ tasks/                  # Step-by-step workflows
β”‚   β”‚   β”œβ”€β”€ tools/                  # Technical tooling reference
β”‚   β”‚   β”œβ”€β”€ tutorials/              # Guided learning paths
β”‚   β”‚   β”œβ”€β”€ reference/              # Technical references
β”‚   β”‚   └── contributing/           # Contribution guidelines
β”‚   └── build/                      # Built documentation files
β”œβ”€β”€ py_launch_blueprint/            # Source code for the project
β”‚   β”œβ”€β”€ __init__.py                 # Package initialization
β”‚   β”œβ”€β”€ _version.py                 # Version information
β”‚   └── projects.py                 # Main project module
β”œβ”€β”€ tests/                          # Test files
β”‚   β”œβ”€β”€ __init__.py                 # Test package initialization
β”‚   β”œβ”€β”€ test_api.py                 # API tests
β”‚   β”œβ”€β”€ test_cli.py                 # CLI tests
β”‚   β”œβ”€β”€ test_config.py              # Configuration tests
β”‚   └── test_projects.py            # Project module tests
β”œβ”€β”€ .gitignore                      # Git ignore file
β”œβ”€β”€ .pre-commit-config.yaml         # Pre-commit hooks configuration
β”œβ”€β”€ .python-version                 # Python version file
β”œβ”€β”€ .readthedocs.yaml               # Read the Docs configuration
β”œβ”€β”€ .vscode/                        # VS Code configuration files
β”‚   └── extensions.json             # Recommended extensions
β”œβ”€β”€ CLAUDE.md                       # CLAUDE documentation
β”œβ”€β”€ CODE_OF_CONDUCT.md              # Code of conduct
β”œβ”€β”€ CONTRIBUTING.md                 # Contributing guidelines
β”œβ”€β”€ docs/                           # Documentation files
β”‚   β”œβ”€β”€ cla_faq.md                  # CLA FAQ
β”‚   β”œβ”€β”€ cla/                        # CLA files
β”‚   β”‚   β”œβ”€β”€ corporate_cla.md        # Corporate CLA
β”‚   β”‚   └── individual_cla.md       # Individual CLA
β”‚   β”œβ”€β”€ Makefile                    # Makefile for building documentation
β”‚   β”œβ”€β”€ source/                     # Sphinx source files
β”‚   β”‚   β”œβ”€β”€ _templates/             # Sphinx template overrides
β”‚   β”‚   β”œβ”€β”€ about/                  # Project context and philosophy
β”‚   β”‚   β”œβ”€β”€ tasks/                  # Step-by-step workflows
β”‚   β”‚   β”œβ”€β”€ tools/                  # Technical tooling reference
β”‚   β”‚   β”œβ”€β”€ tutorials/              # Guided learning paths
β”‚   β”‚   β”œβ”€β”€ reference/              # Technical references
β”‚   β”‚   └── contributing/           # Contribution guidelines
β”‚   └── build/                      # Built documentation files
β”œβ”€β”€ EXAMPLECLI.md                   # Example CLI documentation
β”œβ”€β”€ Justfile                        # Just task runner configuration
β”œβ”€β”€ Makefile                        # Makefile for building the project
β”œβ”€β”€ PULL_REQUEST_TEMPLATE.md        # Pull request template
β”œβ”€β”€ py_launch_blueprint/            # Source code for the project
β”‚   β”œβ”€β”€ __init__.py                 # Package initialization
β”‚   β”œβ”€β”€ _version.py                 # Version information
β”‚   └── projects.py                 # Main project module
β”œβ”€β”€ pyproject.toml                  # Project configuration file
β”œβ”€β”€ cog.toml                        # Cog configuration file
β”œβ”€β”€ CONTRIBUTORS.md                 # Project contributors
β”œβ”€β”€ pyrightconfig.json              # Pyright configuration
β”œβ”€β”€ README.md                       # Project overview and navigation
β”œβ”€β”€ SECURITY.md                     # Security policy
└── tests/                          # Test files
    β”œβ”€β”€ __init__.py                 # Test package initialization
    β”œβ”€β”€ test_api.py                 # API tests
    β”œβ”€β”€ test_cli.py                 # CLI tests
    β”œβ”€β”€ test_config.py              # Configuration tests
    └── test_projects.py            # Project module tests

Directory DescriptionsΒΆ

.github/ΒΆ

Contains GitHub-specific configuration files, including GitHub Actions workflows and issue templates.

docs/ΒΆ

Contains all documentation files, including Sphinx source files, static assets, and built documentation.

py_launch_blueprint/ΒΆ

Contains the source code for the project, including the main project module and version information.

tests/ΒΆ

Contains test files for the project, including API tests, CLI tests, and configuration tests.

.gitignoreΒΆ

Specifies files and directories to be ignored by Git.

.pre-commit-config.yamlΒΆ

Configuration file for pre-commit hooks to ensure code quality and consistency.

.python-versionΒΆ

Specifies the Python version used for the project.

.readthedocs.yamlΒΆ

Configuration file for Read the Docs to build and host the documentation.

.vscode/ΒΆ

Contains VS Code-specific configuration files, including recommended extensions.

CLAUDE.mdΒΆ

Contains documentation for the CLAUDE tool.

CODE_OF_CONDUCT.mdΒΆ

Specifies the code of conduct for contributors to the project.

CONTRIBUTING.mdΒΆ

Provides guidelines for contributing to the project.

EXAMPLECLI.mdΒΆ

Contains documentation for the example CLI tool.

JustfileΒΆ

Configuration file for the Just task runner to manage development tasks.

MakefileΒΆ

Contains build instructions for the project.

PULL_REQUEST_TEMPLATE.mdΒΆ

Template for pull requests to ensure consistency and completeness.

pyproject.tomlΒΆ

Configuration file for the project, including dependencies and build settings.

cog.tomlΒΆ

Configuration file for COG (Cocogitto), used for changelog generation.

CONTRIBUTORS.mdΒΆ

Auto-generated file that lists the project contributors.

pyrightconfig.jsonΒΆ

Configuration file for Pyright, a static type checker for TypeScript and JavaScript.

README.mdΒΆ

Provides an overview of the project and serves as a navigation hub for the documentation.

SECURITY.mdΒΆ

Specifies the security policy for the project.