{"library":"puter","title":"Puter","description":"Puter is a Node.js package for building and managing cloud-based file systems and applications. Version 1.0.0 is the initial stable release, focusing on core file system operations, user authentication, and permission management. It differentiates itself by offering a self-hosted, open-source alternative to proprietary cloud storage platforms with a RESTful API. The package is maintained actively, with monthly releases addressing bugs and feature requests. It supports both CommonJS and ESM, requires Node.js 14+, and includes TypeScript definitions. Compared to similar tools like Minio or AWS SDK, Puter provides a simpler setup for personal cloud environments.","language":"javascript","status":"active","last_verified":"Sat Apr 25","install":{"commands":["npm install puter"],"cli":null},"imports":["import { createClient } from 'puter'","import type { FSItem } from 'puter'","import { PuterClient } from 'puter'"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import { createClient } from 'puter';\n\nconst client = createClient({\n  apiKey: process.env.PUTER_API_KEY ?? '',\n  region: 'us-east-1'\n});\n\nasync function main() {\n  // List files in root directory\n  const items = await client.listFiles('/');\n  console.log('Files:', items);\n\n  // Upload a file\n  const buffer = Buffer.from('hello world');\n  await client.uploadFile('/remote/hello.txt', buffer);\n\n  // Download a file\n  const content = await client.downloadFile('/remote/hello.txt');\n  console.log('Downloaded:', content.toString());\n}\n\nmain().catch(console.error);","lang":"typescript","description":"Demonstrates client creation, listing files, uploading and downloading a file using PuterNodeClient.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}