This repository provides a project scaffolding engine with two interfaces:
- CLI entry via
create_project_files.py - MCP server via
mcp_server.py
It can create Python project scaffolds, generate project README files, generate script helpers (.bat, .sh, or both), initialize git, and integrate with GitHub.
- Create project scaffolds using templates (
basic,cli) - Generate README for created projects
- Generate helper scripts by mode:
batfor Windows onlyshfor Linux/macOS onlybothfor cross-platformnonefor no helper scripts
- Optional unit-test scaffolding
- Optional coverage setup with HTML reporting (
pytest-cov,pytest-html) - Initialize git and create first commit
- Create GitHub repo and connect/push remote
create_project_files.py: CLI wrapper and optional MCP launch modescaffold_core.py: Reusable core scaffolding logicmcp_server.py: MCP tools exposed throughFastMCPtests/test_scaffold_core.py: Unit tests for scaffold behavior
- Python 3.9+
gitavailable in PATH- For MCP mode:
mcppackage - For GitHub integration: Personal Access Token with repo permissions
python -m pip install mcp pytestBasic interactive mode:
python create_project_files.pyBasic non-interactive mode:
python create_project_files.py --name my_appGenerate only .bat scripts and include test+coverage:
python create_project_files.py --name my_app --script-mode batGenerate only .sh scripts, without tests:
python create_project_files.py --name my_app --script-mode sh --no-testsUse CLI template and initialize git:
python create_project_files.py --name my_cli --template cli --git-initCreate GitHub repo and push first commit:
python create_project_files.py --name my_app --git-init --github-create --github-private --github-push --github-token <TOKEN>python create_project_files.py --run-mcp-serverOr directly:
python mcp_server.pyInstalled console commands:
projectforge-cli --name my_app
projectforge-mcp-servercreate_project_scaffold- Create scaffold with template, script mode, tests, and coverage options
create_project_readme- Regenerate README for an existing project
create_helper_scripts- Generate only helper scripts for an existing project
git_initialize_project- Initialize git and make initial commit
github_create_repo- Create GitHub repository using token auth
github_connect_remote- Add remote and optionally push initial commit
scaffold_and_publish- End-to-end flow combining scaffold + git + GitHub
When tests are enabled (include_tests=True), generated projects include:
tests/package with starter unit testspytest.ini- test helper scripts (
005_run_test.*)
When coverage is enabled (include_coverage=True), generated projects include:
pytest-covdependency- coverage helper scripts (
006_run_code_cov.*) - HTML coverage report output support
python -m pytest tests -q- Use
--github-tokenor setGITHUB_TOKENenvironment variable - Remote URL defaults to HTTPS clone URL returned by GitHub API
- Initial push is optional via
--github-push