build-smart-contracts
1
总安装量
1
周安装量
#42984
全站排名
安装命令
npx skills add https://github.com/algorand-devrel/algorand-agent-skills --skill build-smart-contracts
Agent 安装分布
github-copilot
1
claude-code
1
antigravity
1
Skill 文档
Building Smart Contracts
Create modern Algorand smart contracts in Algorand TypeScript or Algorand Pythonâstatically-typed subsets compiled to TEAL bytecode by the Puya compiler.
Overview / Core Workflow
- Search Algorand documentation for concepts and best practices
- Retrieve canonical examples from priority repositories
- Generate code adapting examples to requirements
- Include integration tests using generated clients
- Build and test with AlgoKit commands
How to proceed
-
Search documentation first:
- Use
kapa_search_algorand_knowledge_sourcesMCP tool for conceptual guidance - If MCP unavailable, use web search: “site:dev.algorand.co {concept}”
- If no results, proceed with caution using known patterns
- Use
-
Retrieve canonical examples:
- Priority 1:
algorandfoundation/devportal-code-examples - Priority 2:
algorandfoundation/puya-ts(examples/) - Priority 3:
algorandfoundation/algokit-typescript-template - Always include corresponding test files
- Priority 1:
-
Generate code:
- Default to TypeScript unless user explicitly requests Python
- Adapt examples carefully, preserving safety checks
- Follow syntax rules from
algorand-typescriptskill
-
Include tests:
- Always include or suggest integration tests
- Use generated clients for testing contracts
- See
test-smart-contractsskill for patterns
-
Build and test:
algokit project run build # Compile contracts algokit project run test # Run tests
Important Rules / Guidelines
- NEVER use PyTEAL or Beaker â these are legacy, superseded by Puya
- NEVER write raw TEAL â always use Algorand TypeScript/Python
- NEVER import external libraries into contract code
- Default to TypeScript unless user explicitly requests Python
- Always search docs first before writing code
- Always retrieve examples from priority repositories
Common Variations / Edge Cases
| Scenario | Approach |
|---|---|
| Box storage patterns | Check devportal-code-examples/contracts/BoxStorage/ |
| Inner transactions | Search for “itxn” patterns in puya-ts examples |
| ARC-4 methods | See puya-ts/examples/hello_world_arc4/ |
| State management | Check GlobalState, LocalState patterns in examples |
| Python contracts | Use algorandfoundation/puya instead of puya-ts |
| Python syntax help | Consult references/python/ subfolder for Python-specific patterns |