Acolyte is a comprehensive web application designed to assist developers in their day-to-day duties. Whether you're testing APIs, analyzing applications, or utilizing essential development utilities, Acolyte provides all the tools you need in one powerful, user-friendly interface.
Features • Tech Stack • Getting Started • Usage • Contributing
- 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
- 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
- Accessibility Checker - Scan websites for accessibility issues and WCAG compliance
- Markdown Preview - Real-time markdown editor and preview with syntax highlighting, GitHub Flavored Markdown support, and export capabilities
- 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
- JWT Decoder - Decode and validate JSON Web Tokens with header and payload inspection
- Developer Notepad - Persistent note-taking with markdown support and local storage
- 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
- 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 - High-quality, accessible component library
- Jest - JavaScript testing framework with comprehensive test coverage
- React Testing Library - Simple and complete testing utilities
- ESLint - Code analysis and linting for consistent code quality
- Prettier - Code formatting for consistent style across the codebase
- IndexedDB - Client-side storage for persistent data
- Local Storage - Browser storage for user preferences and temporary data
Before running Acolyte, ensure you have the following installed:
- Node.js (version 20.x or higher)
- npm (comes with Node.js)
-
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.
To create an optimized production build:
npm run build
npm startAcolyte is optimized for deployment on Vercel and other serverless platforms. The Accessibility Checker feature uses a serverless-compatible Puppeteer configuration that works seamlessly on:
- Vercel (recommended)
- AWS Lambda
- Netlify Functions
- Google Cloud Functions
For detailed deployment instructions and troubleshooting, see DEPLOYMENT.md.
- 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
- Go to Dependency Analysis from the Analysis section
- Paste your
package.jsoncontent into the editor - Click "Analyze Dependencies" to get insights about:
- Total package count and categorization
- Security vulnerabilities
- Outdated packages
- Dependency tree visualization
- 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
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
│ ├── color-picker/ # Color selection utility
│ ├── dependency-analysis/# Package analysis tool
│ ├── games/ # Browser games
│ ├── json-formatter/ # JSON formatting utility
│ ├── jwt/ # JWT decoder tool
│ ├── markdown-preview/ # Markdown editor and preview tool
│ ├── notepad/ # Developer notepad
│ ├── regex/ # Regular expression tester
│ ├── sse/ # Server-Sent Events testing
│ ├── web-stats/ # Website statistics analyzer
│ ├── websockets/ # WebSocket testing interface
│ └── webtransport/ # WebTransport testing tool
├── components/ # Reusable React components
├── lib/ # Utility functions and helpers
├── public/ # Static assets
└── __tests__/ # Test files
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 Prettier
npm run format
# Check formatting without making changes
npm run format:ci
# Lint code without auto-fixing (CI mode)
npm run lint:ciThe 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
We welcome contributions to Acolyte! Here's how you can help:
- Fork the repository on GitHub
- Create a feature branch from
maingit 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
- 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
- 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
This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.
- Built with Next.js and React
- UI components from Shadcn/UI
- Icons from Lucide React
- Styling with Tailwind CSS
Made with ❤️ for the developer community