|
1 | 1 | <div align="center"> |
2 | | -<a href="https://github.com/algorandfoundation/algokit-python-template"><img src="https://bafkreihnmpvtrgloxz5exuk2ybfxkeq5b2ka5vxfjejjslswl5ecr7pvpy.ipfs.nftstorage.link/" width=60%></a> |
| 2 | +<a href="https://github.com/algorandfoundation/algokit-typescript-template"><img src="https://bafkreihnmpvtrgloxz5exuk2ybfxkeq5b2ka5vxfjejjslswl5ecr7pvpy.ipfs.nftstorage.link/" width=60%></a> |
3 | 3 | </div> |
4 | 4 |
|
5 | 5 | <p align="center"> |
6 | 6 | <a target="_blank" href="https://github.com/algorandfoundation/algokit-cli"><img src="https://img.shields.io/badge/docs-repository-00dc94?logo=github&style=flat.svg" /></a> |
7 | 7 | <a target="_blank" href="https://developer.algorand.org/algokit/"><img src="https://img.shields.io/badge/learn-AlgoKit-00dc94?logo=algorand&mac=flat.svg" /></a> |
8 | | - <a target="_blank" href="https://github.com/algorandfoundation/algokit-python-template"><img src="https://img.shields.io/github/stars/algorandfoundation/algokit-python-template?color=00dc94&logo=star&style=flat" /></a> |
9 | | - <a target="_blank" href="https://developer.algorand.org/algokit/"><img src="https://api.visitorbadge.io/api/visitors?path=https%3A%2F%2Fgithub.com%2Falgorandfoundation%2Falgokit-python-template&countColor=%2300dc94&style=flat" /></a> |
| 8 | + <a target="_blank" href="https://github.com/algorandfoundation/algokit-python-template"><img src="https://img.shields.io/github/stars/algorandfoundation/algokit-typescript-template?color=00dc94&logo=star&style=flat" /></a> |
| 9 | + <a target="_blank" href="https://developer.algorand.org/algokit/"><img src="https://api.visitorbadge.io/api/visitors?path=https%3A%2F%2Fgithub.com%2Falgorandfoundation%2Falgokit-typescript-template&countColor=%2300dc94&style=flat" /></a> |
10 | 10 | </p> |
11 | 11 |
|
12 | 12 | --- |
13 | 13 |
|
14 | | -This template provides a production-ready baseline for developing and deploying [Puya](https://github.com/algorandfoundation/puya) smart contracts. |
| 14 | +This template provides a production-ready baseline for developing and deploying [Algorand TypeScript](https://github.com/algorandfoundation/puya-ts) smart contracts. |
15 | 15 |
|
16 | | -To use it [install AlgoKit](https://github.com/algorandfoundation/algokit-cli#readme) and then either pass in `-t python` to `algokit init` or select the `python` template. |
| 16 | +~~To use it [install AlgoKit](https://github.com/algorandfoundation/algokit-cli#readme) and then either pass in `-t typescript` to `algokit init` or select the `typescript` template.~~ |
| 17 | + |
| 18 | +To use it run: |
| 19 | +``` |
| 20 | +algokit init --template-url https://github.com/algorandfoundation/algokit-typescript-template --UNSAFE-SECURITY-accept-template-url |
| 21 | +``` |
17 | 22 |
|
18 | 23 | This is one of the official templates used by AlgoKit to initialize an Algorand smart contract project. It's a [Copier template](https://copier.readthedocs.io/en/stable/). |
19 | 24 |
|
20 | 25 | ## Features |
21 | 26 |
|
22 | 27 | This template supports the following features: |
23 | 28 |
|
24 | | -- Compilation of [multiple Puya contracts](template_content/smart_contracts/config.py) to a [predictable folder location and file layout](template_content/smart_contracts/__main__.py) where they can be deployed |
| 29 | +- Compilation of multiple [Algorand TypeScript](https://github.com/algorandfoundation/puya-ts/) contracts to a [predictable folder location and file layout](template_content/smart_contracts) where they can be deployed; [docs](https://github.com/algorandfoundation/puya-ts/), [examples](https://github.com/algorandfoundation/puya-ts/tree/main/examples) |
25 | 30 | - Deploy-time immutability and permanence control |
26 | | -- [Poetry](https://python-poetry.org/) for Python dependency management and virtual environment management |
27 | | -- Linting via [Ruff](https://github.com/charliermarsh/ruff) or [Flake8](https://flake8.pycqa.org/en/latest/) |
28 | | -- Formatting via [Black](https://github.com/psf/black) |
29 | | -- Type checking via [mypy](https://mypy-lang.org/) |
30 | | -- Testing via pytest (not yet used) |
31 | | -- Dependency vulnerability scanning via pip-audit (not yet used) |
| 31 | +- [NPM](https://www.npmjs.com/) for TypeScript packaging and dependency management |
| 32 | +- [TypeScript](https://www.typescriptlang.org/) for strongly typed programming language that builds on JavaScript |
| 33 | +- [ts-node-dev](https://github.com/wclr/ts-node-dev) for TypeScript deployment script execution |
| 34 | +- [Prettier](https://prettier.io/) for code formatting |
| 35 | +- [ESLint](https://eslint.org/) for linting |
| 36 | +- [vitest](https://vitest.dev/) for automated testing (unit test and end-to-end) |
| 37 | +- [better-npm-audit](https://github.com/jeemok/better-npm-audit#readme) for dependency vulnerability scanning |
| 38 | +- [pre-commit](https://pre-commit.com/) for managing and maintaining multi-language pre-commit hooks |
32 | 39 | - VS Code configuration (linting, formatting, breakpoint debugging) |
33 | | -- dotenv (.env) file for configuration |
34 | | -- Automated testing of the compiled smart contracts |
| 40 | +- dotenv (.env) files for configuration |
35 | 41 | - [Output stability](https://github.com/algorandfoundation/algokit-cli/blob/main/docs/articles/output_stability.md) tests of the TEAL output |
36 | | -- CI/CD pipeline using GitHub Actions: |
37 | | -- - Optionally pick deployments to Netlify or Vercel |
| 42 | +- CI/CD pipeline using GitHub Actions |
38 | 43 |
|
39 | 44 | ## Getting started |
40 | 45 |
|
|
0 commit comments