{"id":47289,"library":"compresskit-cli","title":"compresskit CLI — Solana ZK Compression Migration Toolkit","description":"compresskit-cli v0.1.1 is a command-line toolkit for analyzing Solana programs and migrating their accounts to ZK Compression using the Light Protocol SDK. It provides four core commands: analyze (scan for compression opportunities), cost (side-by-side rent comparison), migrate (generate a MIGRATION.md with Rust and TypeScript migration code), and verify (check remaining uncompressed accounts after migration). It also includes a template scaffold command to generate Anchor programs with compressed account patterns for loyalty, gaming, and social use cases. Release cadence is experimental (pre-v1). Key differentiator: end-to-end migration workflow (analysis → costing → code generation → verification) vs. manual Light Protocol integration with no reusable templates.","status":"active","version":"0.1.1","language":"javascript","source_language":"en","source_url":"https://github.com/matsoukasdev/compresskit","tags":["javascript","solana","zk-compression","light-protocol","anchor","cli","migration"],"install":[{"cmd":"npm install compresskit-cli","lang":"bash","label":"npm"},{"cmd":"yarn add compresskit-cli","lang":"bash","label":"yarn"},{"cmd":"pnpm add compresskit-cli","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"CLI is invoked via npx (preferred) or global install. No programmatic API exposed at this version.","wrong":"compresskit analyze --network mainnet","symbol":"compresskit","correct":"npx compresskit analyze <PROGRAM_ID>"}],"quickstart":{"code":"npx compresskit analyze TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA","lang":"typescript","description":"Run analysis for a Solana program ID (Tokenkeg...) to discover compressible accounts and estimate rent savings."},"warnings":[{"fix":"Manually implement migration steps from MIGRATION.md (Rust + TypeScript snippets provided).","message":"compresskit migrate does not apply migrations; it only writes a MIGRATION.md plan file.","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Use --output to specify an empty directory; backup existing files before running.","message":"The template command may generate files that overwrite existing ones without warning.","severity":"breaking","affected_versions":">=0.1.0"},{"fix":"Always specify --network mainnet when targeting production; defaults to devnet.","message":"The -n, --network flag default is 'devnet' – committing to mainnet without flag may cause unintended costs.","severity":"deprecated","affected_versions":">=0.1.0"},{"fix":"Re-run cost after program deployment to confirm numbers.","message":"The analyze command's estimated rent uses current Solana rent rate; actual rent may vary after epoch changes.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Use Anchor or Solana CLI for actual deployment; compresskit only generates code and analysis.","message":"This CLI does NOT deploy or modify on-chain programs; it is a planning/scaffolding tool.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"search_vec":"'account':25,66,82 'also':70 'analysi':106 'analyz':19,39 'anchor':78,128 'cadenc':92 'case':90 'check':63 'cli':2,10,129 'code':60,108 'command':15,38,75 'command-lin':14 'comparison':50 'compress':5,28,42,81,124 'compresskit':1,9 'compresskit-c':8 'core':37 'cost':44,107 'differenti':99 'end':101,103 'end-to-end':100 'experiment':94 'four':36 'game':86 'generat':52,77,109 'includ':71 'integr':115 'javascript':120 'key':98 'light':31,113,126 'light-protocol':125 'line':16 'loyalti':85 'manual':112 'migrat':6,23,51,59,68,104,130 'migration.md':54 'opportun':43 'pattern':83 'pre':96 'pre-v1':95 'program':21,79 'protocol':32,114,127 'provid':35 'releas':91 'remain':64 'rent':49 'reusabl':118 'rust':56 'scaffold':74 'scan':40 'sdk':33 'side':46,48 'side-by-sid':45 'social':88 'solana':3,20,121 'templat':73,119 'toolkit':7,17 'typescript':58 'uncompress':65 'use':29,89 'v0.1.1':11 'v1':97 'verif':110 'verifi':62 'vs':111 'workflow':105 'zk':4,27,123 'zk-compress':122","created_at":"2026-06-07T16:50:46.354778+00:00","updated_at":"2026-06-07T16:50:46.354778+00:00","problems":[{"fix":"Add '@lightprotocol/compressed-token' and '@lightprotocol/stateless.js' to your Cargo.toml / package.json.","cause":"Missing Light Protocol SDK dependency when compiling generated migration code.","error":"Error: Cannot find module '@lightprotocol/compressed-token'"},{"fix":"Review and fix TypeScript snippets manually; use `tsc --noEmit` to catch errors.","cause":"Generated MIGRATION.md contains TypeScript snippets without semicolons implicitly assumed; pasting into .ts file may fail if syntax is incomplete.","error":"Error: expected '=>' after function parameter"},{"fix":"Replace placeholder program ID (e.g., '9xQeWvG816b...') with your actual program ID in the generated Rust code.","cause":"Migrated account's owner is not the compresskit template's program ID; migration plan uses a placeholder program.","error":"Error: AnchorError caused by account: compressed_account. Error Code: AccountOwnedByWrongProgram"},{"fix":"Verify program is deployed; pass --network mainnet if targeting mainnet-beta.","cause":"Program ID provided to compresskit analyze does not exist on the selected network (default devnet).","error":"Error: ProgramID not found. Ensure program is deployed on specified network."}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/matsoukasdev/compresskit#readme","github":"https://github.com/matsoukasdev/compresskit","docs":null,"changelog":null,"pypi":null,"npm":"compresskit-cli","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops","blockchain"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}