algorand-typescript

Define Algorand PuyaTs syntax rules to prevent compiler errors in TypeScript contracts.

Updated Mar 7, 2026
One-click install
npx skills add https://github.com/SomehowLiving/Acre --skill algorand-typescript-somehowliving
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: algorand-typescript
Source: https://github.com/SomehowLiving/Acre/tree/main/.agents/skills/algorand-typescript
Command: npx skills add https://github.com/SomehowLiving/Acre --skill algorand-typescript-somehowliving

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

PuyaTs syntax rules and patterns help developers write AVM-compatible Algorand TypeScript contracts, preventing common compiler errors and runtime issues.

Core Features & Use Cases

  • Enforce AVM types and value semantics in PuyaTs code to avoid mistakes
  • Guide storage patterns (GlobalState, LocalState, BoxMap, Box) and clone usage for complex types
  • Provide reference material for topics like types-and-values, storage, methods-and-abi, and transactions

Quick Start

Create a PuyaTs contract snippet that reads GlobalState, clones a value, updates it, and writes it back.

Frequently Asked Questions about algorand-typescript

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix PuyaTs compiler errors when writing Algorand TypeScript smart contracts?

PuyaTs compiler errors occur when Algorand TypeScript violates AVM type rules or value semantics. Applying defined PuyaTs syntax rules for AVM-compatible types and clone usage prevents these common compiler errors and runtime issues.

What are the storage patterns for GlobalState, LocalState, and BoxMap in Algorand TypeScript?

Algorand TypeScript storage patterns define how to structure GlobalState, LocalState, BoxMap, and Box. Using these patterns correctly guides clone usage for complex types and ensures persistent data aligns with AVM requirements.

When do I need to use clone rules for complex types in Algorand TypeScript?

You need clone rules for complex types in Algorand TypeScript when reading and updating stored values. Cloning a value before modifying it ensures AVM value semantics are respected, preventing unintended state mutations in your smart contract.

Does PuyaTs support AVM types and value semantics for Algorand smart contracts?

Yes, PuyaTs enforces AVM types and value semantics for Algorand smart contracts. It provides structured references for types-and-values, storage, methods-and-abi, and transactions to ensure contract logic remains AVM-compatible.

What is the best way to structure a PuyaTs contract that reads and updates GlobalState?

The best way to structure a PuyaTs contract reading GlobalState is to read the value, clone it to respect value semantics, update the clone, and write it back. This prevents compiler errors and maintains AVM compatibility.

Why does my Algorand TypeScript contract fail AVM type checks during compilation?

Algorand TypeScript contracts fail AVM type checks when code deviates from defined PuyaTs syntax rules. Enforcing AVM types, value semantics, and proper clone usage for complex types ensures compatibility with the AVM compiler.