{"id":49491350,"url":"https://github.com/yuireidev/devpockit","last_synced_at":"2026-05-03T22:03:38.112Z","repository":{"id":315521372,"uuid":"1059821941","full_name":"yuireidev/devpockit","owner":"yuireidev","description":"Pocket toolkit for developers","archived":false,"fork":false,"pushed_at":"2026-05-01T04:52:47.000Z","size":1632,"stargazers_count":2,"open_issues_count":7,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-01T06:29:02.395Z","etag":null,"topics":["client-side","cron-parser","developer-tools","json-formatter","jwt-decoder","nextjs","open-source","privacy-first","qr-code","regex-tester","static-site","typescript","url-encoder","uuid-generator","web-app","xml-formatter","yaml-converter"],"latest_commit_sha":null,"homepage":"https://devpockit.hypkey.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yuireidev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":null},"created_at":"2025-09-19T02:06:02.000Z","updated_at":"2026-05-01T04:48:26.000Z","dependencies_parsed_at":"2025-09-19T05:37:14.303Z","dependency_job_id":"b3eb5bb6-16ad-443a-b325-0c7621338ad5","html_url":"https://github.com/yuireidev/devpockit","commit_stats":null,"previous_names":["drakehanguyen/devpockit","hypkey/devpockit","yuireidev/devpockit"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/yuireidev/devpockit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuireidev%2Fdevpockit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuireidev%2Fdevpockit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuireidev%2Fdevpockit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuireidev%2Fdevpockit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yuireidev","download_url":"https://codeload.github.com/yuireidev/devpockit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yuireidev%2Fdevpockit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32586189,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client-side","cron-parser","developer-tools","json-formatter","jwt-decoder","nextjs","open-source","privacy-first","qr-code","regex-tester","static-site","typescript","url-encoder","uuid-generator","web-app","xml-formatter","yaml-converter"],"created_at":"2026-05-01T06:05:12.108Z","updated_at":"2026-05-03T22:03:38.107Z","avatar_url":"https://github.com/yuireidev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DevPockit\n\n![License](https://img.shields.io/badge/license-MIT-blue.svg)\n![Build Status](https://img.shields.io/github/workflow/status/hypkey/devpockit/CI)\n![Test Coverage](https://img.shields.io/codecov/c/github/hypkey/devpockit)\n![Version](https://img.shields.io/github/package-json/v/hypkey/devpockit)\n\nA modern web application providing essential developer tools with a clean, responsive interface. Built with Next.js (App Router, static export), featuring 30+ powerful tools that run entirely client-side for optimal performance and privacy.\n\n🌐 **[Production](https://devpockit.hypkey.com/)** | 📖 **[Documentation](#-documentation)** | 🤝 **[Contributing](CONTRIBUTING.md)** | 📝 **[Changelog](CHANGELOG.md)**\n\n## ✨ Features\n\n- **30+ Developer Tools** - JSON formatter, UUID generator, JWT decoder, regex tester, and more\n- **Client-Side Processing** - All tools run in your browser, no data sent to servers\n- **Modern UI** - Clean, responsive design with dark/light theme support\n- **Fast \u0026 Reliable** - Built with Next.js and TypeScript\n- **Mobile Friendly** - Works seamlessly on desktop, tablet, and mobile devices\n- **Open Source** - MIT licensed, free to use and contribute\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- Node.js 18+ (recommended: Node.js 20+)\n- pnpm (package manager)\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/hypkey/devpockit.git\ncd devpockit\n\n# Install dependencies\npnpm install\n\n# Start development server\npnpm dev\n```\n\nVisit `http://localhost:3000` to see the application.\n\nFor detailed setup instructions, see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## 🛠️ Available Tools\n\n### Text Tools\n- **Lorem Ipsum Generator** - Generate placeholder text\n- **Regex Tester** - Test and debug regular expressions\n- **Diff Checker** - Compare two texts side-by-side\n\n### Formatters\n- **JSON Formatter** - Format and beautify JSON\n- **XML Formatter** - Format and beautify XML\n\n### Cryptography \u0026 Security\n- **UUID Generator** - Generate v1, v4, and v5 UUIDs\n- **JWT Decoder** - Decode and analyze JWT tokens\n- **JWT Encoder** - Create and encode JWT tokens\n- **Hash Generator** - Generate cryptographic hashes (SHA-1, SHA-256, SHA-512, SHA-3)\n\n### Encoders \u0026 Decoders\n- **QR Code Generator** - Generate QR codes for text, URLs, contacts, WiFi, SMS, email\n- **QR Code Decoder** - Decode QR codes from images\n- **QR Code Scanner** - Scan QR codes using device camera\n- **URL Encoder/Decoder** - Encode and decode URLs\n- **Base Encoder/Decoder** - Base64, Base32, Base16, Base85 encoding\n\n### Converters\n- **Cron Expression Parser** - Build and parse cron expressions\n- **Data Format Converter** - Convert between JSON, YAML, Python Dict, TypeScript Map, XML\n- **Timestamp Converter** - Convert between Unix timestamps, ISO 8601, RFC 2822\n- **List Format Converter** - Convert lists between different formats\n- **Schema Converter** - Convert between JSON Schema, Spark Schema, TypeScript, Python, SQL\n- **Number Base Converter** - Convert between binary, octal, decimal, hexadecimal\n\n### Network Tools\n- **CIDR Analyzer** - Analyze CIDR notation\n- **IP to CIDR Converter** - Convert IP addresses to CIDR\n- **IP Address Lookup** - Look up IP address information\n- **System Information** - View browser and device information\n\n### Utilities\n- **List Comparison** - Compare two lists to find differences\n- **JSON Path Finder** - Query JSON using JSONPath\n- **XML Path Finder** - Query XML using XPath\n- **YAML Path Finder** - Query YAML using YAMLPath\n- **JSON/YAML Schema Generator** - Generate JSON Schema from data\n\n## 🏗️ Tech Stack\n\n- **Framework**: Next.js 15 (App Router)\n- **Language**: TypeScript\n- **Styling**: Tailwind CSS\n- **UI Components**: Shadcn/ui\n- **Package Manager**: pnpm\n- **Testing**: Jest + React Testing Library\n\n## 📚 Documentation\n\n- **[Contributing Guide](CONTRIBUTING.md)** - How to contribute to the project\n- **[Code of Conduct](CODE_OF_CONDUCT.md)** - Community guidelines\n- **[Security Policy](SECURITY.md)** - Security reporting and practices\n- **[Changelog](CHANGELOG.md)** - Version history and changes\n\nFor architecture and development documentation, see the [docs](docs/) directory.\n\n## 🚀 Deployment\n\n### Build for Production\n\n```bash\npnpm build\npnpm start\n```\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for detailed deployment instructions.\n\n## 🏠 Self-Hosting\n\nDevPockit runs entirely in the browser and can be self-hosted on GitHub Pages, your own server, or any static hosting platform.\n\n### Quick Start: GitHub Pages\n\n1. **Fork** this repository\n2. Go to **Settings → Pages** → set Source to **GitHub Actions**\n3. **Sync fork** to get the latest release\n4. Go to **Actions → Deploy to GitHub Pages** → **Run workflow**\n\nYour instance will be live at `https://\u003cusername\u003e.github.io/\u003crepo\u003e/`\n\n\u003e **Note:** `main` only contains released code — development happens on `develop`. Syncing your fork is always safe; you will never accidentally deploy unreleased changes.\n\n### Docker\n\n```bash\ndocker build -t devpockit .\ndocker run -p 8080:80 devpockit\n```\n\nVisit http://localhost:8080\n\n### Full Guide\n\nSee [docs/SELF_HOSTING.md](docs/SELF_HOSTING.md) for GitHub Pages, Docker, nginx, Apache, Caddy, Netlify, Vercel, and Cloudflare Pages.\n\n## 🤝 Contributing\n\nContributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) to get started.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'feat: add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\nPlease make sure to follow our [Code of Conduct](CODE_OF_CONDUCT.md).\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- Built with [Next.js](https://nextjs.org/)\n- UI components from [Shadcn/ui](https://ui.shadcn.com/)\n- Icons from [Lucide](https://lucide.dev/)\n\n---\n\nMade with ❤️ by the DevPockit community\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuireidev%2Fdevpockit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyuireidev%2Fdevpockit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyuireidev%2Fdevpockit/lists"}