Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions zk-compression-docs/mintlify-docs/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2023 Mintlify

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
43 changes: 43 additions & 0 deletions zk-compression-docs/mintlify-docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Mintlify Starter Kit

Use the starter kit to get your docs deployed and ready to customize.

Click the green **Use this template** button at the top of this repo to copy the Mintlify starter kit. The starter kit contains examples with

- Guide pages
- Navigation
- Customizations
- API reference pages
- Use of popular components

**[Follow the full quickstart guide](https://starter.mintlify.com/quickstart)**

## Development

Install the [Mintlify CLI](https://www.npmjs.com/package/mint) to preview your documentation changes locally. To install, use the following command:

```
npm i -g mint
```
Comment on lines +19 to +21
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Add language specifier to fenced code block.

Line 19 code block should declare bash language for syntax highlighting.

-```
+```bash
 npm i -g mint
-```
+```
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

19-19: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
In zk-compression-docs/mintlify-docs/README.md around lines 19 to 21, the fenced
code block does not declare a language; update the opening backticks to include
the bash language specifier (e.g., change ``` to ```bash) so the snippet "npm i
-g mint" has proper bash syntax highlighting, and leave the closing backticks
unchanged.


Run the following command at the root of your documentation, where your `docs.json` is located:

```
mint dev
```
Comment on lines +25 to +27
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Add language specifier to fenced code block.

Line 25 code block should declare bash language for syntax highlighting.

-```
+```bash
 mint dev
-```
+```
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

25-25: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
In zk-compression-docs/mintlify-docs/README.md around lines 25 to 27, the fenced
code block containing the command `mint dev` is missing a language specifier;
update the opening backticks to include "bash" (i.e., ```bash) so the block
becomes a bash fenced code block for proper syntax highlighting.


View your local preview at `http://localhost:3000`.

## Publishing changes

Install our GitHub app from your [dashboard](https://dashboard.mintlify.com/settings/organization/github-app) to propagate changes from your repo to your deployment. Changes are deployed to production automatically after pushing to the default branch.

## Need help?

### Troubleshooting

- If your dev environment isn't running: Run `mint update` to ensure you have the most recent version of the CLI.
- If a page loads as a 404: Make sure you are running in a folder with a valid `docs.json`.

### Resources
- [Mintlify documentation](https://mintlify.com/docs)
Comment on lines +42 to +43
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Add blank line before heading.

Markdown heading at line 42 needs a blank line above it for consistency with MDX standards.

 - If a page loads as a 404: Make sure you are running in a folder with a valid `docs.json`.
 
+
 ### Resources

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

42-42: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)

🤖 Prompt for AI Agents
In zk-compression-docs/mintlify-docs/README.md around lines 42 to 43, the
Markdown heading "### Resources" is missing a blank line above it; insert a
single blank line before that heading so the file follows MDX/Markdown spacing
conventions and renders consistently.

Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
title: Client Library
description: Overview to Rust and Typescript client guides. Guides include step-by-step implementation and full code examples.
---
Comment on lines +1 to +4
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

File content appears incomplete—no body after front matter.

The front matter promises "Rust and Typescript client guides" with "step-by-step implementation and full code examples," but the file contains no body content at all. This creates a disconnect between the metadata and the actual page structure.

Verify whether:

  1. This file should contain introductory content or links to separate client library guides
  2. The body content was inadvertently omitted during the Mintlify migration
  3. This is intentionally a stub/placeholder to be filled in later

Typo in description: "Typescript" should be "TypeScript" (capital S) to match standard naming conventions and consistency with the broader tech community.

Apply this diff to fix the capitalization:

-description: Overview to Rust and Typescript client guides. Guides include step-by-step implementation and full code examples.
+description: Overview to Rust and TypeScript client guides. Guides include step-by-step implementation and full code examples.

🏁 Script executed:

#!/bin/bash
# Inspect the actual file content to verify state
echo "=== File Content ===" 
cat zk-compression-docs/mintlify-docs/compressed-pdas/client-library.mdx

echo -e "\n=== File Stats ===" 
wc -l zk-compression-docs/mintlify-docs/compressed-pdas/client-library.mdx

echo -e "\n=== Directory Listing ===" 
fd --type f . zk-compression-docs/mintlify-docs/compressed-pdas/ | head -20

echo -e "\n=== TypeScript vs Typescript Usage in Docs ===" 
rg -n "ypeScript" zk-compression-docs/mintlify-docs/ | head -15

Length of output: 529


🏁 Script executed:

#!/bin/bash
# Check repository structure and locate documentation
echo "=== Repository Root Contents ===" 
ls -la | head -20

echo -e "\n=== Search for zk-compression-docs Directory ===" 
find . -maxdepth 2 -name "*zk-compression*" -o -name "*docs*" -type d 2>/dev/null | head -10

echo -e "\n=== Find All .mdx Files ===" 
fd -e mdx | head -20

echo -e "\n=== Check for compressed-pdas Directory ===" 
fd "compressed-pdas" -type d

Length of output: 2702


🏁 Script executed:

#!/bin/bash
# Properly inspect the file content
echo "=== File Content ===" 
cat "zk-compression-docs/mintlify-docs/compressed-pdas/client-library.mdx"

echo -e "\n=== File Line Count ===" 
wc -l "zk-compression-docs/mintlify-docs/compressed-pdas/client-library.mdx"

echo -e "\n=== Check TypeScript Naming in Docs ===" 
rg -n "TypeScript|Typescript" zk-compression-docs/mintlify-docs --type mdx | head -20

echo -e "\n=== Inspect Similar Index Files ===" 
cat "zk-compression-docs/mintlify-docs/compressed-pdas/guides.mdx"

Length of output: 3269


🏁 Script executed:

#!/bin/bash
# Search for TypeScript naming across entire codebase
echo "=== TypeScript vs Typescript in Codebase ===" 
rg -n "TypeScript|Typescript" zk-compression-docs/ | head -30

echo -e "\n=== Check Rust references for pattern ===" 
rg -n "Rust and" zk-compression-docs/mintlify-docs --max-count 5

Length of output: 12263


File missing promised body content—description incompleteness.

The front matter describes "Rust and Typescript client guides" with "step-by-step implementation and full code examples," but the file contains only YAML metadata with zero body content. Compare this to guides.mdx in the same directory, which provides table-based overviews and structured navigation. Verify whether:

  1. This file should contain introductory content or link structure for client guides
  2. Body content was omitted during migration

Fix TypeScript capitalization: The description uses "Typescript" but the standard throughout the codebase is "TypeScript" (capital S). Lines 3 in client-development.mdx and multiple other files use the proper capitalization.

-description: Overview to Rust and Typescript client guides. Guides include step-by-step implementation and full code examples.
+description: Overview to Rust and TypeScript client guides. Guides include step-by-step implementation and full code examples.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
---
title: Client Library
description: Overview to Rust and Typescript client guides. Guides include step-by-step implementation and full code examples.
---
---
title: Client Library
description: Overview to Rust and TypeScript client guides. Guides include step-by-step implementation and full code examples.
---
🧰 Tools
🪛 LanguageTool

[grammar] ~1-~1: Hier könnte ein Fehler sein.
Context: --- title: Client Library description: Overview to Rust and Typescript client guides. Guides include step-by-step implementation and full code examples. ---

(QB_NEW_DE)

Original file line number Diff line number Diff line change
@@ -0,0 +1,204 @@
---
title: Create a Program with Compressed PDAs
description: Overview to compressed PDA core features and guide for program development
---

Compressed PDAs provide full functionality of accounts at PDAs, without per-account rent cost.

| Creation | Regular PDA Account | Compressed PDA | Cost Reduction |
| :------------- | :--------------------- | :---------------------- | :------------------ |
| 100-byte PDA | ~ 0.0016 SOL | **~ 0.00001 SOL** | ***160x*** |

Compressed PDAs are derived using a specific program address and seed, like regular PDAs. Custom programs invoke the [Light System program](#user-content-fn-1)[^1] to create and update accounts, instead of the System program.

#### Compressed PDAs at a Glance

<CardGroup cols={3}>
<Card title="Rent free PDAs">
Create accounts at program-derived addresses without upfront rent exempt balance.
</Card>
<Card title="Full PDA Functionality">
Persistent unique identification and program ownership.
</Card>
<Card title="Composable">
CPI support between compressed and regular PDAs.
</Card>
</CardGroup>

## Start Building

Developing with compressed PDAs works similar to regular PDAs and involves minimal setup:

### Prerequisites

<Info>
Required versions:

* **Rust**: 1.86.0 or later
* **Solana CLI**: 2.2.15
* **Anchor CLI**: 0.31.1
* **Zk compression CLI**: 0.27.0 or later
* **Node.js**: 23.5.0 or later
Comment on lines +37 to +41
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Verify version requirements are current and compatible.

The documentation specifies exact version requirements for the development environment:

  • Rust: 1.86.0 or later
  • Solana CLI: 2.2.15
  • Anchor CLI: 0.31.1
  • Zk compression CLI: 0.27.0 or later
  • Node.js: 23.5.0 or later

Ensure these versions are:

  1. Currently available and stable
  2. Compatible with each other
  3. Not superseded by newer requirements
  4. Recommended for production use

🏁 Script executed:

#!/bin/bash
# Description: Check version availability and compatibility

# Check Solana CLI latest release
echo "Solana CLI latest releases:"
curl -s https://api.github.com/repos/solana-labs/solana/releases | jq -r '.[0:3] | .[] | .tag_name' | head -5

# Check Anchor CLI latest version
echo -e "\nAnchor CLI latest version info:"
npm view @project-serum/anchor version 2>/dev/null || echo "Check manually on npm"

# Check Light Protocol CLI versions
echo -e "\nLight Protocol CLI versions:"
npm view @lightprotocol/zk-compression-cli versions --json | jq -r '.[-5:]'

Length of output: 211


Update version requirements to reflect current stable tooling releases.

The documented versions are significantly outdated:

  • Solana CLI: Documentation states 2.2.15, but current releases use 2.2.17 or earlier 2.1.x series
  • Anchor CLI: Documentation states 0.31.1, but the current stable is 0.32.1
  • For Anchor 0.31.1 specifically, the recommended Solana version is 2.1.0, not 2.2.15
  • ZK Compression CLI: 0.27.0 is correct as the latest version

Update the version matrix to match current ecosystem standards. Consider whether to pin 0.31.1 or upgrade to the latest Anchor 0.32.1 for better compatibility with current Solana tooling.

</Info>

**Install Solana CLI:**

```bash
sh -c "$(curl -sSfL https://release.solana.com/v2.2.15/install)"
```

**Install Anchor CLI:**

```bash
cargo install --git https://github.com/coral-xyz/anchor avm --force
avm install latest
avm use latest
```

**Install the Light CLI:**

```bash
npm -g i @lightprotocol/zk-compression-cli
```

```bash
### verify installation
light --version
```

### Initialize your Program

Instantiate a template Solana program with compressed accounts with all required dependencies.

```bash
light init testprogram
```

<Info>
The `light init` command creates only Anchor-based projects . For Pinocchio programs, manually configure dependencies using `light-sdk-pinocchio`.
</Info>

<Accordion title="Dependencies">

**Rust Crates**

* `light-sdk` - Core SDK for compressed accounts in native and anchor programs
* `light-sdk-pinocchio` Core SDK for compressed accounts in pinocchio programs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Minor formatting issue in Rust crates list.

Line 86 is missing a dash separator between the package name and description, inconsistent with the line above and below.

Apply this diff:

-* `light-sdk-pinocchio` Core SDK for compressed accounts in pinocchio programs
+* `light-sdk-pinocchio` - Core SDK for compressed accounts in pinocchio programs
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
* `light-sdk-pinocchio` Core SDK for compressed accounts in pinocchio programs
* `light-sdk-pinocchio` - Core SDK for compressed accounts in pinocchio programs
🤖 Prompt for AI Agents
In
zk-compression-docs/mintlify-docs/compressed-pdas/create-a-program-with-compressed-pdas.mdx
around line 86, the Rust crates list item "`light-sdk-pinocchio` Core SDK for
compressed accounts in pinocchio programs" is missing the dash separator between
the package name and its description; update that line to match surrounding list
items by inserting a " - " (dash and space) after the backticked crate name so
it reads like the other entries (e.g., "`light-sdk-pinocchio` - Core SDK for
compressed accounts in pinocchio programs").

* `light-client` - RPC client and indexer for interacting with compressed accounts
* `light-program-test` - Testing utilities for compressed programs.

**TypeScript/JavaScript Packages**

* `@lightprotocol/stateless.js` - Client library for interacting with compressed accounts
* `@lightprotocol/zk-compression-cli` - Command-line tools for ZK compression development

</Accordion>

### Build and Test

Now `cd testprogram` and run:

```bash
anchor build
# Success: Finished `release` profile [optimized] target(s), after compiling.
# Note: Stack offset warnings are expected and don't prevent compilation
```

```bash
cargo test-sbf

# Success: test result: ok. 1 passed; 0 failed; 0 ignored
```

### Common Errors

<Accordion title="assert.h file not found - during compilation.">

```shellscript
Fix:
In your terminal, run:
1. export CC=$(xcrun -find clang)
2. export SDKROOT=$(xcrun --show-sdk-path)
3. cargo clean
4. anchor build


Example log:
The following warnings were emitted during compilation:

warning: blake3@1.5.1: In file included from c/blake3_neon.c:1:
warning: blake3@1.5.1: c/blake3_impl.h:4:10: fatal error: 'assert.h' file not found
warning: blake3@1.5.1: 4 | #include <assert.h>
warning: blake3@1.5.1: | ^~~~~~~~~~
warning: blake3@1.5.1: 1 error generated.

error: failed to run custom build command for `blake3 v1.5.1`

Caused by:
process didn't exit successfully: `/Users/you/testprogram/target/release/build/blake3-ac41d29c2eabe052/build-script-build` (exit status: 1)
--- stdout
cargo:rerun-if-env-changed=CARGO_FEATURE_PURE
cargo:rerun-if-env-changed=CARGO_FEATURE_NO_NEON
cargo:rerun-if-env-changed=CARGO_FEATURE_NEON
cargo:rerun-if-env-changed=CARGO_FEATURE_NEON
cargo:rerun-if-env-changed=CARGO_FEATURE_NO_NEON
cargo:rerun-if-env-changed=CARGO_FEATURE_PURE
cargo:rustc-cfg=blake3_neon
OUT_DIR = Some(/Users/you/testprogram/target/release/build/blake3-735a4c71d985df30/out)
TARGET = Some(aarch64-apple-darwin)
OPT_LEVEL = Some(3)
HOST = Some(aarch64-apple-darwin)
cargo:rerun-if-env-changed=CC_aarch64-apple-darwin
CC_aarch64-apple-darwin = None
cargo:rerun-if-env-changed=CC_aarch64_apple_darwin
CC_aarch64_apple_darwin = None
cargo:rerun-if-env-changed=HOST_CC
HOST_CC = None
cargo:rerun-if-env-changed=CC
CC = Some(/Users/you/.local/share/solana/install/releases/1.18.22/solana-release/bin/sdk/sbf/dependencies/platform-tools/llvm/bin/clang)
RUSTC_WRAPPER = None
cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some(false)
cargo:rerun-if-env-changed=MACOSX_DEPLOYMENT_TARGET
MACOSX_DEPLOYMENT_TARGET = None
cargo:rerun-if-env-changed=CFLAGS_aarch64-apple-darwin
CFLAGS_aarch64-apple-darwin = None
cargo:rerun-if-env-changed=CFLAGS_aarch64_apple_darwin
CFLAGS_aarch64_apple_darwin = None
cargo:rerun-if-env-changed=HOST_CFLAGS
HOST_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
cargo:warning=In file included from c/blake3_neon.c:1:
cargo:warning=c/blake3_impl.h:4:10: fatal error: 'assert.h' file not found
cargo:warning= 4 | #include <assert.h>
cargo:warning= | ^~~~~~~~~~
cargo:warning=1 error generated.

--- stderr


error occurred: Command env -u IPHONEOS_DEPLOYMENT_TARGET "/Users/you/.local/share/solana/install/releases/1.18.22/solana-release/bin/sdk/sbf/dependencies/platform-tools/llvm/bin/clang" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=arm64-apple-darwin" "-mmacosx-version-min=14.4" "-Wall" "-Wextra" "-std=c11" "-o" "/Users/you/testprogram/target/release/build/blake3-735a4c71d985df30/out/db3b6bfb95261072-blake3_neon.o" "-c" "c/blake3_neon.c" with args clang did not execute successfully (status code exit status: 1).
```

</Accordion>

## Program Examples
| Example | Description |
|:---------|:------------|
| [basic-operations/anchor](https://github.com/Lightprotocol/program-examples/tree/main/basic-operations/anchor) | Anchor programs to create, update, close, reinitialize and burn compressed accounts with Rust and TypeScript tests |
| [basic-operations/native-rust](https://github.com/Lightprotocol/program-examples/tree/main/basic-operations/native-rust) | Native Solana program implementation to create, update, close, reinitialize and burn compressed accounts with Rust tests |
| [Counter (Anchor)](https://github.com/Lightprotocol/program-examples/tree/main/counter/anchor) | Full compressed account lifecycle (create, increment, decrement, reset, close) using Anchor framework |
| [Counter (Native)](https://github.com/Lightprotocol/program-examples/tree/main/counter/native) | Native Solana program implementation with Rust tests |
| [Counter (Pinocchio)](https://github.com/Lightprotocol/program-examples/tree/main/counter/pinocchio) | Pinocchio implementation using light-sdk-pinocchio with Rust tests |
| [Create-and-Update](https://github.com/Lightprotocol/program-examples/tree/main/create-and-update) | Create new compressed accounts and update existing ones within a single instruction and one validity proof |
| [Read-Only](https://github.com/Lightprotocol/program-examples/tree/main/read-only) | Create compressed accounts and read them on-chain |
| [Account Comparison](https://github.com/Lightprotocol/program-examples/tree/main/account-comparison) | Compare compressed accounts with standard Solana accounts |
| [ZK-ID](https://github.com/Lightprotocol/program-examples/tree/main/zk-id) | Program that uses zero-knowledge proofs for identity verification with compressed accounts |
Comment on lines +189 to +199
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Verify all program example links are valid and current.

The program examples table references 9 GitHub repositories. Verify that all links:

  1. Are accessible and return HTTP 200
  2. Point to active, maintained examples
  3. Still exist at the specified branches/commits

🏁 Script executed:

#!/bin/bash
# Description: Verify GitHub program example links

EXAMPLES=(
  "https://github.com/Lightprotocol/program-examples/tree/main/basic-operations/anchor"
  "https://github.com/Lightprotocol/program-examples/tree/main/basic-operations/native-rust"
  "https://github.com/Lightprotocol/program-examples/tree/main/counter/anchor"
  "https://github.com/Lightprotocol/program-examples/tree/main/counter/native"
  "https://github.com/Lightprotocol/program-examples/tree/main/counter/pinocchio"
  "https://github.com/Lightprotocol/program-examples/tree/main/create-and-update"
  "https://github.com/Lightprotocol/program-examples/tree/main/read-only"
  "https://github.com/Lightprotocol/program-examples/tree/main/account-comparison"
  "https://github.com/Lightprotocol/program-examples/tree/main/zk-id"
)

echo "Checking GitHub repository links..."
for url in "${EXAMPLES[@]}"; do
  STATUS=$(curl -s -o /dev/null -w "%{http_code}" "$url")
  REPO=$(echo "$url" | cut -d'/' -f5-)
  if [ "$STATUS" = "200" ]; then
    echo "$REPO"
  else
    echo "$REPO (HTTP $STATUS)"
  fi
done

Length of output: 461


Fix broken link: basic-operations/native-rust returns HTTP 404.

The GitHub link for the basic-operations/native-rust example at line 195 is broken. The repository path does not exist or has been removed. Update the documentation to either:

  1. Remove the row if the example has been deprecated
  2. Point to the correct location if it has been moved
  3. Replace it with an active example if an alternative exists

Eight of the nine links verified successfully, but this broken reference will frustrate users attempting to access the documentation.

🤖 Prompt for AI Agents
In
zk-compression-docs/mintlify-docs/compressed-pdas/create-a-program-with-compressed-pdas.mdx
around lines 189 to 199, the GitHub link for "basic-operations/native-rust"
(line ~195) returns 404; update the table by either removing that row if the
example is deprecated, replacing the URL with the correct repository path if it
was moved, or swapping in an active alternative example and its URL, then verify
the new link resolves (HTTP 200) and update the accompanying description to
match the chosen action.



## Next Steps

Start building with compressed accounts using our guides or program examples.
84 changes: 84 additions & 0 deletions zk-compression-docs/mintlify-docs/compressed-pdas/guides.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
title: Guides
description: Overview and comparison of guides to create, update, close, reinitialize, and burn permanently compressed accounts. Guides include step-by-step implementation and full code examples.
sidebarTitle: "Overview"
---

## Guides Overview

| Guide | Description |
| ------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| [Create Compressed Accounts](/compressed-pdas/guides/how-to-create-compressed-accounts) | Create compressed accounts with address |
| [Update Compressed Accounts](/compressed-pdas/guides/how-to-update-compressed-accounts) | Update compressed accounts |
| [Close Compressed Accounts](/compressed-pdas/guides/how-to-close-compressed-accounts) | Close compressed accounts, retain the address |
| [Reinitialize Compressed Accounts](/compressed-pdas/guides/how-to-reinitialize-compressed-accounts) | Reinitialize closed compressed accounts with the same address and new values |
| [Burn Compressed Accounts](/compressed-pdas/guides/how-to-burn-compressed-accounts) | Burn compressed accounts and their address permanently |

## Complete Flow Overview

<Tabs>
<Tab title="Create">
<div className="hidden dark:block">
<Frame>
![](/images/Untitled.png)
</Frame>
</div>
<div className="block dark:hidden">
<Frame>
![](/images/image-22.png)
</Frame>
</div>
</Tab>
<Tab title="Update">
<div className="hidden dark:block">
<Frame>
![](/images/Untitled-1.png)
</Frame>
</div>
<div className="block dark:hidden">
<Frame>
![](/images/image-20.png)
</Frame>
</div>
</Tab>
<Tab title="Close">
<div className="hidden dark:block">
<Frame>
![](/images/Untitled-4.png)
</Frame>
</div>
<div className="block dark:hidden">
<Frame>
![](/images/image-23.png)
</Frame>
</div>
</Tab>
<Tab title="Reinitialize">
<div className="hidden dark:block">
<Frame>
![](/images/program-reinit-1.png)
</Frame>
</div>
<div className="block dark:hidden">
<Frame>
![](/images/program-reinit.png)
</Frame>
</div>
</Tab>
<Tab title="Burn">
<div className="hidden dark:block">
<Frame>
![](/images/program-burn-1.png)
</Frame>
</div>
<div className="block dark:hidden">
<Frame>
![](/images/program-burn.png)
</Frame>
</div>
</Tab>
</Tabs>

## Next Steps

Create a compressed account.
Comment on lines +82 to +84
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Next Steps section is vague; add a specific guide link.

Line 84 states "Create a compressed account" without a corresponding link. This should direct users to a specific guide (e.g., /compressed-pdas/guides/how-to-create-compressed-accounts) to improve discoverability and user flow.

Consider this diff:

-## Next Steps
-
-Create a compressed account.
+## Next Steps
+
+Ready to start? [Create your first compressed account](/compressed-pdas/guides/how-to-create-compressed-accounts).
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## Next Steps
Create a compressed account.
## Next Steps
Ready to start? [Create your first compressed account](/compressed-pdas/guides/how-to-create-compressed-accounts).
🤖 Prompt for AI Agents
In zk-compression-docs/mintlify-docs/compressed-pdas/guides.mdx around lines 82
to 84, the "Next Steps" section simply says "Create a compressed account" with
no link; update this line to include a direct link to the specific guide (for
example /compressed-pdas/guides/how-to-create-compressed-accounts) so users can
click through; make the link text descriptive (e.g., "Create a compressed
account — how-to guide") and ensure the URL path matches the repo's route
structure.

Loading