Reusable starter workspace for Monash coursework and small programming projects.
The main branch is the clean base template. It provides a beginner-friendly
repository layout, VS Code configuration, Git hygiene, and a Python 3.10.11
version check without adding course-specific package rules or machine-specific
toolchain paths.
Most students should click Use this template on GitHub or create a fork for personal use.
New to Git, GitHub, or VS Code? Start with:
- Guides Landing Page
- First-Time Setup
- Using GitHub Day to Day
- Using VS Code with This Repository
- Submitting Assignments Safely
src/
Starter source files.
tools/
Small validation helpers used by this template.
build/
Generated output, ignored by Git except for .gitkeep.
docs/
Notes, diagrams, and documentation.
.vscode/
Project-specific VS Code configuration.
.githooks/
Optional repository-managed Git hooks for text and Python-version checks.
- Create your own copy with GitHub's Use this template button.
- Open
project.code-workspacein VS Code. - Select Python
3.10.11withPython: Select Interpreter. - Enable hooks once per clone:
git config core.hooksPath .githooks- Run the starter file with the VS Code task
Python: Run src/main.py, or run:
python tools/python_version/run_with_version.py src/main.pyThis branch checks only the Python runtime version:
- Required version:
3.10.11 - No third-party package allowlist is enforced on
main - Local virtual environments are ignored by Git
Run the check directly:
python tools/python_version/check_version.pyIf a Git client cannot find the right Python executable, set a local-only path:
git config monash.pythonPath <path-to-python-3.10.11>Disable the version hook for one command only when intentionally maintaining template infrastructure:
MONASH_PYTHON_VERSION_ENFORCE=0 git commitAdditional documentation is stored in docs/. Important files include:
docs/environment/python-3.10.11.mddocs/guides/README.md
This repository uses The Unlicense.