Features
🧪 API Testing
- REST API Testing - Comprehensive testing tools for RESTful APIs with support for multiple HTTP methods, custom headers, and request/response validation
- Server-Sent Events (SSE) - Real-time event stream testing and monitoring
- WebSocket Testing - Full-duplex communication testing with message history and connection status monitoring
- WebTransport Testing - Modern transport protocol testing for low-latency applications
📊 Analysis Tools
- Web Stats - Provides detailed information about the current web client, including IP address, browser details, location, and system specifications
- Website Analysis - In-depth analysis of web applications including security headers, performance metrics, and best practices
- Dependency Analysis - Package.json analysis with vulnerability scanning, outdated package detection, and dependency tree visualization
- SBOM Report - Analyze SPDX JSON format Software Bill of Materials with detailed package information, license tracking, and relationship visualization
- Accessibility Checker - Scan websites for accessibility issues and WCAG compliance
🔧 Development Utilities
- Markdown Preview - Real-time markdown editor and preview with syntax highlighting, GitHub Flavored Markdown support, and export capabilities
- Mermaid Preview - Create and visualize Mermaid diagrams with live preview, including flowcharts, sequence diagrams, and more
- Base64 Encoder/Decoder - Convert text and files to/from Base64 encoding with support for multiple formats
- JSON Formatter - Beautify, validate, and minify JSON with syntax highlighting and error detection
- Regex Tester - Test and debug regular expressions with real-time matching and explanation
- Color Picker - Advanced color selection tool with support for HEX, RGB, HSL, and HSV color spaces
- Image Tools - Crop, resize, convert, and generate favicon assets from uploaded images
- JWT Decoder - Decode and validate JSON Web Tokens with header and payload inspection
- Swagger Viewer - Parse and display OpenAPI/Swagger specifications in organized, readable tables grouped by endpoint categories
- Chat - Connect to local or external OpenAI v1-compatible model providers for configurable AI conversations
- Acolyte Assistant - A floating, browser-local assistant that can answer tool questions and run safe text-only actions
- Developer Notepad - Persistent note-taking with markdown support and local storage
🎮 Entertainment
- Snake Game - Classic arcade game with modern controls and scoring
- Breakout - Brick-breaking game with physics-based ball movement
- Sudoku - Number puzzle game with multiple difficulty levels
Technology Stack
Frontend
- Next.js 15.5.2 - React framework with App Router for server-side rendering and routing
- React 19.1.0 - Modern React with latest features and performance improvements
- TypeScript - Static type checking for enhanced developer experience
- Tailwind CSS 4 - Utility-first CSS framework for rapid UI development
- Shadcn/UI (
base-lyra style) - Component library built on Base UI primitives
- Oxanium / JetBrains Mono - UI and code typefaces, loaded via
next/font
Development Tools
- Jest - JavaScript testing framework with comprehensive test coverage
- React Testing Library - Simple and complete testing utilities
- Biome - Fast unified linter and formatter for consistent code quality and style
Storage & Data
- IndexedDB - Client-side storage for persistent data
- Local Storage - Browser storage for user preferences and temporary data
Prerequisites
Before running Acolyte, ensure you have the following installed:
- Node.js (version 20.x or higher)
- npm (comes with Node.js)
Getting Started
Installation
-
Clone the repository
git clone https://github.com/jbouder/acolyte.git
cd acolyte
-
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser
Navigate to http://localhost:3000 to see the application.
Building for Production
To create an optimized production build and run it in the Cloudflare Workers
runtime locally:
npm run build
npm start
Deployment
Acolyte runs on Cloudflare Workers as a Worker named acolyte. The
Next.js App Router source is built by vinext,
which compiles Next.js on Vite and targets Workers natively.
Pushing to main deploys automatically via
.github/workflows/deploy.yml, which runs Biome
and the test suite first. To deploy by hand:
npm run deploy
The Accessibility Checker drives headless Chrome through
Cloudflare Browser Rendering
rather than a bundled Chromium binary.
For configuration, Worker size limits, Browser Rendering quotas, and
troubleshooting, see DEPLOYMENT.md.
Usage
API Testing
- Navigate to the APIs section from the homepage
- Create multiple request tabs for different endpoints
- Configure HTTP methods, headers, and request bodies
- Send requests and analyze responses with syntax highlighting
- Save and load project configurations for reuse
Chat
- Open Chat from the development utilities.
- Select a preset for llama.cpp, Ollama, or Docker Model Runner, or enter a custom OpenAI v1-compatible endpoint.
- Set the model and optional system prompt, then send messages to the provider's
/chat/completions endpoint.
- API keys are used only for the request unless you explicitly choose to save one locally in the browser. Only save credentials on trusted devices.
The floating Acolyte Assistant is available throughout the application from the bot button in the lower-right corner. It runs a WebLLM model locally in browsers with WebGPU support, so it can help discover Acolyte tools, format or validate JSON, encode or decode Base64, decode JWTs, generate secure passwords, and switch themes without sending conversation content to a remote chat provider.
Dependency Analysis
- Go to Dependency Analysis from the Analysis section
- Paste your
package.json content into the editor
- Click "Analyze Dependencies" to get insights about:
- Total package count and categorization
- Security vulnerabilities
- Outdated packages
- Dependency tree visualization
SBOM Report
- Navigate to SBOM Report from the Analysis section
- Upload an SPDX JSON file or paste the content directly
- Click "Analyze SBOM" to generate a comprehensive report including:
- SBOM metadata and document information
- Package statistics (total packages, licenses, suppliers)
- Detailed package list with versions and licenses
- Package relationships and dependencies
- Download the report in JSON or TXT format for documentation
Development Utilities
- JSON Formatter: Paste JSON and get formatted, validated output
- Regex Tester: Test patterns against sample text with real-time matching
- Markdown Preview: Write and preview markdown with live rendering, syntax highlighting, and export options
- Base64 Tools: Encode/decode text and files
- Color Picker: Select colors and get values in multiple formats
- Image Tools: Crop, resize, convert, and export favicon assets
- Swagger Viewer: Upload or paste OpenAPI/Swagger JSON specifications to view endpoints in organized tables with color-coded HTTP methods
Project Structure
acolyte/
├── app/ # Next.js App Router pages
│ ├── api/ # API route handlers
│ ├── accessibility-checker/# Accessibility scanning tool
│ ├── apis/ # REST API testing interface
│ ├── base64/ # Base64 encoding/decoding tool
│ ├── chat/ # OpenAI-compatible model chat client
│ ├── color-picker/ # Color selection utility
│ ├── dependency-analysis/# Package analysis tool
│ ├── games/ # Browser games
│ ├── image-tools/ # Image crop, conversion, and favicon utility
│ ├── json-formatter/ # JSON formatting utility
│ ├── jwt/ # JWT decoder tool
│ ├── markdown-preview/ # Markdown editor and preview tool
│ ├── mermaid-preview/ # Mermaid diagram editor
│ ├── notepad/ # Developer notepad
│ ├── regex/ # Regular expression tester
│ ├── sbom-report/ # SBOM analysis tool
│ ├── sse/ # Server-Sent Events testing
│ ├── swagger-viewer/ # OpenAPI/Swagger documentation viewer
│ ├── web-stats/ # Website statistics analyzer
│ ├── website-analysis/ # Website analysis tool
│ ├── websockets/ # WebSocket testing interface
│ └── webtransport/ # WebTransport testing tool
├── components/ # Reusable React components
├── lib/ # Utility functions and helpers
├── public/ # Static assets
└── __tests__/ # Test files
Development
Code Quality
Acolyte maintains high code quality standards with comprehensive tooling:
# Run all tests
npm run test
# Lint code and auto-fix issues
npm run lint
# Format code with Biome
npm run format
# Check formatting without making changes
npm run format:ci
# Lint code without auto-fixing (CI mode)
npm run lint:ci
Testing
The project includes comprehensive test coverage:
- Unit Tests: Testing individual components and utilities
- Integration Tests: Testing component interactions
- Coverage: 82.65% statement coverage with 79 passing tests
Contributing
We welcome contributions to Acolyte! Here's how you can help:
-
Fork the repository on GitHub
-
Create a feature branch from main
git checkout -b feature/your-feature-name
-
Make your changes and ensure tests pass
-
Run code quality checks
npm run test
npm run lint
npm run format
-
Commit your changes with descriptive messages
-
Push to your fork and create a Pull Request
Development Guidelines
- Use TypeScript for all new code
- Follow the existing code style (enforced by ESLint and Prettier)
- Write tests for new features and bug fixes
- Use semantic commit messages
- Update documentation when adding new features
Architecture Decisions
- Next.js App Router: Provides server-side rendering and improved routing
- TypeScript: Ensures type safety and better developer experience
- Tailwind CSS: Enables rapid UI development with utility classes
- Jest + React Testing Library: Comprehensive testing setup
- Component-based Architecture: Promotes reusability and maintainability
License
This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.
Acknowledgments