Sui Move Development
Comprehensive knowledge base for Sui blockchain and Move smart contract development.
Setup References
Clone the official documentation:
# Create skill directory
mkdir -p {baseDir}/references && cd {baseDir}/references
# Clone Move Book (The Move Language Bible)
git clone --depth 1 https://github.com/MystenLabs/move-book.git
# Clone Sui docs (sparse checkout)
git clone --depth 1 --filter=blob:none --sparse https://github.com/MystenLabs/sui.git
cd sui && git sparse-checkout set docs
Reference Structure
Move Book (references/move-book/book/)
| Directory |
Content |
your-first-move/ |
Hello World, Hello Sui tutorials |
move-basics/ |
Variables, functions, structs, abilities, generics |
concepts/ |
Packages, manifest, addresses, dependencies |
storage/ |
Object storage, UID, transfer functions |
object/ |
Object model, ownership, dynamic fields |
programmability/ |
Events, witness, publisher, display |
move-advanced/ |
BCS, PTB, cryptography |
guides/ |
Testing, debugging, upgrades, BCS |
appendix/ |
Glossary, reserved addresses |
Sui Docs (references/sui/docs/content/)
- Concepts, guides, standards, references
Quick Search
# Search Move Book for a topic
rg -i "keyword" {baseDir}/references/move-book/book/ --type md
# Search Sui docs
rg -i "keyword" {baseDir}/references/sui/docs/ --type md
# Find all files about a topic
find {baseDir}/references -name "*.md" | xargs grep -l "topic"
Key Concepts
Move Language Basics
Abilities - Type capabilities:
copy - Can be copied
drop - Can be dropped (destroyed)
store - Can be stored in objects
key - Can be used as a key in global storage (objects)
public struct MyStruct has key, store {
id: UID,
value: u64
}
Object Model:
- Every object has a unique
UID
- Objects can be owned (address), shared, or immutable
- Transfer functions:
transfer::transfer, transfer::share_object, transfer::freeze_object
Common Patterns
Create and Transfer Object:
public fun create(ctx: &mut TxContext) {
let obj = MyObject {
id: object::new(ctx),
value: 0
};
transfer::transfer(obj, tx_context::sender(ctx));
}
Shared Object:
public fun create_shared(ctx: &mut TxContext) {
let obj = SharedObject {
id: object::new(ctx),
counter: 0
};
transfer::share_object(obj);
}
Entry Functions:
public entry fun do_something(obj: &mut MyObject, value: u64) {
obj.value = value;
}
CLI Commands
# Create new project
sui move new my_project
# Build
sui move build
# Test
sui move test
# Publish
sui client publish --gas-budget 100000000
# Call function
sui client call --package <PACKAGE_ID> --module <MODULE> --function <FUNCTION> --args <ARGS>
# Get object
sui client object <OBJECT_ID>
Workflow
When answering Sui/Move questions:
Search references first:
rg -i "topic" {baseDir}/references/move-book/book/ -l
Read relevant files:
cat {baseDir}/references/move-book/book/<path>/<file>.md
Provide code examples from the references
Link to official docs when helpful:
Topics Index
| Topic |
Location |
| Hello World |
move-book/book/your-first-move/hello-world.md |
| Hello Sui |
move-book/book/your-first-move/hello-sui.md |
| Primitives |
move-book/book/move-basics/primitive-types.md |
| Structs |
move-book/book/move-basics/struct.md |
| Abilities |
move-book/book/move-basics/abilities-introduction.md |
| Generics |
move-book/book/move-basics/generics.md |
| Object Model |
move-book/book/object/ |
| Storage |
move-book/book/storage/ |
| Events |
move-book/book/programmability/events.md |
| Testing |
move-book/book/guides/testing.md |
| Upgrades |
move-book/book/guides/upgradeability.md |
| PTB |
move-book/book/move-advanced/ptb/ |
| BCS |
move-book/book/move-advanced/bcs.md |
Notes
- Move 2024 edition introduces new features (enums, method syntax, etc.)
- Sui uses a unique object-centric model different from other blockchains
- Gas is paid in SUI tokens
- Testnet/Devnet available for development
Converted and distributed by TomeVault — claim your Tome and manage your conversions.
1---2name: sui-move-23description: Sui blockchain and Move smart contract development. Use when the user asks about Sui, Move language, smart contracts, objects, transactions, or blockchain development on Sui. Use when this capability is needed.4---56# Sui Move Development78Comprehensive knowledge base for Sui blockchain and Move smart contract development.910## Setup References1112Clone the official documentation:1314```bash15# Create skill directory16mkdir -p {baseDir}/references && cd {baseDir}/references1718# Clone Move Book (The Move Language Bible)19git clone --depth 1 https://github.com/MystenLabs/move-book.git2021# Clone Sui docs (sparse checkout)22git clone --depth 1 --filter=blob:none --sparse https://github.com/MystenLabs/sui.git23cd sui && git sparse-checkout set docs24```2526## Reference Structure2728### Move Book (`references/move-book/book/`)29| Directory | Content |30|-----------|---------|31| `your-first-move/` | Hello World, Hello Sui tutorials |32| `move-basics/` | Variables, functions, structs, abilities, generics |33| `concepts/` | Packages, manifest, addresses, dependencies |34| `storage/` | Object storage, UID, transfer functions |35| `object/` | Object model, ownership, dynamic fields |36| `programmability/` | Events, witness, publisher, display |37| `move-advanced/` | BCS, PTB, cryptography |38| `guides/` | Testing, debugging, upgrades, BCS |39| `appendix/` | Glossary, reserved addresses |4041### Sui Docs (`references/sui/docs/content/`)42- Concepts, guides, standards, references4344## Quick Search4546```bash47# Search Move Book for a topic48rg -i "keyword" {baseDir}/references/move-book/book/ --type md4950# Search Sui docs51rg -i "keyword" {baseDir}/references/sui/docs/ --type md5253# Find all files about a topic54find {baseDir}/references -name "*.md" | xargs grep -l "topic"55```5657## Key Concepts5859### Move Language Basics6061**Abilities** - Type capabilities:62- `copy` - Can be copied63- `drop` - Can be dropped (destroyed)64- `store` - Can be stored in objects65- `key` - Can be used as a key in global storage (objects)6667```move68public struct MyStruct has key, store {69 id: UID,70 value: u6471}72```7374**Object Model**:75- Every object has a unique `UID`76- Objects can be owned (address), shared, or immutable77- Transfer functions: `transfer::transfer`, `transfer::share_object`, `transfer::freeze_object`7879### Common Patterns8081**Create and Transfer Object**:82```move83public fun create(ctx: &mut TxContext) {84 let obj = MyObject {85 id: object::new(ctx),86 value: 087 };88 transfer::transfer(obj, tx_context::sender(ctx));89}90```9192**Shared Object**:93```move94public fun create_shared(ctx: &mut TxContext) {95 let obj = SharedObject {96 id: object::new(ctx),97 counter: 098 };99 transfer::share_object(obj);100}101```102103**Entry Functions**:104```move105public entry fun do_something(obj: &mut MyObject, value: u64) {106 obj.value = value;107}108```109110## CLI Commands111112```bash113# Create new project114sui move new my_project115116# Build117sui move build118119# Test120sui move test121122# Publish123sui client publish --gas-budget 100000000124125# Call function126sui client call --package <PACKAGE_ID> --module <MODULE> --function <FUNCTION> --args <ARGS>127128# Get object129sui client object <OBJECT_ID>130```131132## Workflow133134When answering Sui/Move questions:1351361. **Search references first**:137 ```bash138 rg -i "topic" {baseDir}/references/move-book/book/ -l139 ```1401412. **Read relevant files**:142 ```bash143 cat {baseDir}/references/move-book/book/<path>/<file>.md144 ```1451463. **Provide code examples** from the references1471484. **Link to official docs** when helpful:149 - Move Book: https://move-book.com150 - Sui Docs: https://docs.sui.io151152## Topics Index153154| Topic | Location |155|-------|----------|156| Hello World | `move-book/book/your-first-move/hello-world.md` |157| Hello Sui | `move-book/book/your-first-move/hello-sui.md` |158| Primitives | `move-book/book/move-basics/primitive-types.md` |159| Structs | `move-book/book/move-basics/struct.md` |160| Abilities | `move-book/book/move-basics/abilities-introduction.md` |161| Generics | `move-book/book/move-basics/generics.md` |162| Object Model | `move-book/book/object/` |163| Storage | `move-book/book/storage/` |164| Events | `move-book/book/programmability/events.md` |165| Testing | `move-book/book/guides/testing.md` |166| Upgrades | `move-book/book/guides/upgradeability.md` |167| PTB | `move-book/book/move-advanced/ptb/` |168| BCS | `move-book/book/move-advanced/bcs.md` |169170## Notes171172- Move 2024 edition introduces new features (enums, method syntax, etc.)173- Sui uses a unique object-centric model different from other blockchains174- Gas is paid in SUI tokens175- Testnet/Devnet available for development176177---178> Converted and distributed by [TomeVault](https://tomevault.io/claim/demerzels-lab) — claim your Tome and manage your conversions.179<!-- tomevault:4.0:skill_md:2026-04-13 -->