This template provides a production-ready baseline for developing and deploying Puya smart contracts.
To use it install AlgoKit and then either pass in -t puya to algokit init or select the puya template.
This is one of the official templates used by AlgoKit to initialize an Algorand smart contract project. It's a Copier template.
Please note
Puyasmart contract development language is currently in alpha / developer preview. It is not recommended for production usage yet.
This template supports the following features:
- Compilation of multiple Puya contracts to a predictable folder location and file layout where they can be deployed
- Deploy-time immutability and permanence control
- Poetry for Python dependency management and virtual environment management
- Linting via Ruff or Flake8
- Formatting via Black
- Type checking via mypy
- Testing via pytest (not yet used)
- Dependency vulnerability scanning via pip-audit (not yet used)
- VS Code configuration (linting, formatting, breakpoint debugging)
- dotenv (.env) file for configuration
- Automated testing of the compiled smart contracts
- Output stability tests of the TEAL output
- CI/CD pipeline using GitHub Actions:
-
- Optionally pick deployments to Netlify or Vercel
Once the template is instantiated you can follow the README.md file to see instructions for how to use the template.