Workspace Management
Organize your projects, files, and folders in the AVM Studio workspace.
Projects
A project in AVM Studio is a collection of smart contract source files, build artifacts, and deployment history.
Creating a Project
- Go to Projects
- Click New Project
- Enter a project name
- Select a language (PuyaTS, Puya, or TEAL)
- Optionally select a template
- Click Create
Project Settings
Click the gear icon in the file tree to access project settings:
- Name - Rename your project
- Description - Add notes about the project
- Language - View the project's language
- Secrets - Manage encrypted project secrets
File Tree
The file tree on the left side of the editor shows all files and folders in your project.
File Operations
- Click - Open file in editor
- Right-click - Context menu with options
- Double-click folder - Expand/collapse
Creating Files
- Right-click in the file tree (or on a folder)
- Select New File
- Enter a filename with extension
- Press Enter to create
.algo.ts for PuyaTS, .py for Puya, and .teal for TEAL files.Creating Folders
- Right-click in the file tree
- Select New Folder
- Enter a folder name
- Press Enter to create
Renaming
- Right-click and select Rename
- Or select the file and press F2
Deleting
- Right-click and select Delete
- Or select and press Delete
- Confirm the deletion in the dialog
Editor Tabs
Open multiple files simultaneously using tabs at the top of the editor.
Tab Actions
- Click tab - Switch to that file
- Click X - Close the tab
- Middle-click - Close the tab
- Right-click - Tab context menu
Tab Context Menu
- Close - Close this tab
- Close Others - Close all other tabs
- Close All - Close all tabs
- Close to the Right - Close tabs to the right
Unsaved Changes
A dot appears on tabs with unsaved changes. Press Ctrl/Cmd + S to save.
Multi-Contract Projects
A single project can contain multiple smart contracts. Each contract compiles to its own set of artifacts.
Organization Tips
- Use folders to group related contracts
- Keep shared utilities in a
lib/folder - Name contracts clearly (e.g.,
auction.algo.ts,escrow.algo.ts)
Selecting Contract to Build
When building, select which contract file to compile from the contract selector dropdown in the build panel.
Import & Export
Importing Projects
Import existing code:
- Paste code - Paste directly into a new file
- Upload files - Drag and drop files into the file tree
Exporting Projects
Export your project for backup or sharing:
- Click the export button in the project header
- Choose export format (ZIP)
- Download the exported project