Releases: ratna3/theJoker
Experimental Build
🃏 The Joker — Agentic Terminal v1.1.1
Pull Request: RK-Dev-Beta → main
Full-stack build of The Joker Agentic Terminal — an autonomous, AI-powered terminal that understands natural language, scrapes the web, generates complete projects, performs OSINT reconnaissance, and deploys applications.
📊 PR Stats
| Metric | Value |
|---|---|
| Commits | 29 |
| Files Changed | 103 |
| Lines Added | 55,255+ |
| Lines Removed | 528 |
| Test Suites | 22 |
| Tests Passing | 980 |
| Test Coverage | 80%+ |
| Version | 1.1.1 |
🎯 What This PR Achieves
This PR delivers the complete implementation of The Joker Agentic Terminal across 20 development phases, taking the project from initial setup to a fully-featured, tested, Dockerized AI agent with 29 registered tools.
🏗️ Development Phases
Phase 1–4: Foundation
- Project Setup — TypeScript + Node.js boilerplate,
tsconfig.json, ESLint, Prettier - LLM Integration — LM Studio API client (
src/llm/client.ts), prompt templates, response parsing - Web Scraping Engine — Puppeteer-based browser automation with stealth mode, anti-detection, and data extraction
- Agent System — Core autonomous agent loop with planner, executor, and session memory
Phase 5: Tool System & Execution
- Tool registry with category support (
SEARCH,SCRAPE,PROCESS,FILE,CODE) - Parameter validation and error handling
- Dependency resolution and chaining
Phase 6: Terminal Interface & UX
- Enhanced CLI system with
chalk-powered display - Command handler architecture
- Real-time progress tracking with
oraspinners
Phase 7: Autonomous Agent Loop
JokerAgentwith Think → Plan → Act → Observe cycle- Self-correction and iterative refinement
- Goal detection, action planning, and synthesis
Phase 8: Data Processing & Output Formatting
- 5 data processing tools:
transform,clean,extract_patterns,convert,summarize - Rich terminal output with markdown and code block rendering
Phase 9: Error Handling & Resilience
- Custom error types and centralized handler
- Retry logic with exponential backoff
- Circuit breaker pattern for external service calls
Phase 10: Testing Infrastructure
- Jest configuration with 80%+ coverage
- Mock system for browser and LLM dependencies
- 191 → 980 tests across all phases
Phase 11: Code Generation Engine
- LLM-powered code generation with template system
- Framework templates: React, Next.js, Vue, Express
- Component, page, and style generation
Phase 12: Project Scaffolding System
- Full project scaffolding from natural language
npm installautomation and directory structure creation- Integration with code generation engine
Phase 14: File System Indexer
- AST-like parser for TypeScript/JavaScript files
- File watcher with
chokidarfor real-time change detection - Dependency graph construction
Phase 15: Code Understanding & Context
- Static analysis with code complexity scoring
- Import/export resolution and symbol tracking
Phase 16: Multi-File Operations
- Batch file creation and manipulation
- Import management and automated refactoring (721 tests)
Phase 17: Progress Tracking System
- Auto-generated
progress.mdreports - Task tracking with file change and build monitoring (784 tests)
Phase 18: Build & Development Workflow
- Build manager, dev server orchestration
- Error parsing and auto-fix pipeline (836 tests)
Phase 19: Testing & Quality Assurance
- Comprehensive test generator (
test-generator.ts) - Integration workflow tests
- Full regression suite
Phase 20: Deployment Automation
- Deployer module for Docker, Kubernetes, and CI/CD
- Packager for production bundling
🌟 Headline Features
🎨 Vibe Coding Mode — Natural Language → Running App
Describe an app in plain English and The Joker builds it end-to-end:
🃏 joker > vibe Build me a portfolio website with dark mode and a contact form
- LLM-powered prompt analysis → structured project spec
- Automatic framework detection (React, Next.js, Vue, Express)
- Full code generation for components, pages, and styles
- Automated
npm install+ dev server launch + browser open - Live session refinement via HMR
Key files: src/agents/vibe-coder.ts, src/project/dev-server.ts
🔍 Hack Mode (Recon) — Automated OSINT
One-command passive domain reconnaissance:
🃏 joker > recon example.com
- DNS records (A, AAAA, MX, TXT, NS, CNAME, SOA)
- WHOIS lookup (registrar, dates, nameservers)
- SSL/TLS certificate analysis
- HTTP security header inspection
- Tech stack detection (25+ signatures: React, Next.js, Vue, WordPress, Cloudflare, Vercel, AWS…)
- Email and social link extraction
- Full-page screenshot capture
- Security score (0–100) and markdown report saved to
./reports/
Key file: src/tools/recon.ts
🖥️ TUI Dashboard — Real-Time Agent Visualization
Full-screen interactive terminal dashboard built with blessed:
- Split-pane UI: Agent Thinking (left) + Tool Execution (right)
- Live stats bar: state, elapsed time, message count, step progress, active model
- Interactive input pane with key bindings (
Tab,q,c,i,Esc)
Key file: src/cli/dashboard.ts
🧠 AirLLM Integration — 70B Models on 4GB RAM
Run 70B-parameter LLMs on commodity hardware via layer-wise inference:
- Python sidecar server (
airllm_server.py) wrapping models via OpenAI-compatible API - TypeScript bridge (
src/llm/airllm-bridge.ts) with health checks and process management - LLM client factory (
src/llm/factory.ts) for seamless backend switching - Backend selection prompt at startup (LM Studio vs AirLLM)
- Configuration via
.env: model, port, compression (none/4bit/8bit), max length
🐳 Docker Support
Production-ready containerization:
- Multi-stage Dockerfile with Puppeteer + Chromium support
- docker-compose.yml with volume mounts, host networking, and AirLLM sidecar port
.dockerignorefor optimized buildshost.docker.internalfor LM Studio communication from container
🔧 29 Registered Tools
| Category | Tools |
|---|---|
| Search | web_search |
| Scrape | scrape_page, extract_links, take_screenshot |
| Process | transform, clean, extract_patterns, convert, summarize |
| File | read_file, write_file, append_file, delete_file, list_dir, copy_file, move_file, file_exists, create_dir |
| Code | generate_code, modify_code, scaffold_project, analyze_code |
| Recon | recon (DNS, WHOIS, SSL, headers, tech stack, emails, socials, screenshot) |
| Vibe | vibe (NL → running app pipeline) |
📁 Architecture
theJoker/
├── src/
│ ├── index.ts # Entry point & CLI command registration
│ ├── agents/ # Agent loop, planner, executor, memory, vibe-coder
│ ├── cli/ # Terminal, dashboard, commands, display, progress, formatter
│ ├── llm/ # LM Studio client, AirLLM bridge, factory, prompts, parser
│ ├── scraper/ # Puppeteer browser, navigator, extractor, stealth
│ ├── tools/ # Registry + search, scrape, recon, code, file, process tools
│ ├── project/ # Scaffolder, builder, deployer, dev-server, packager
│ ├── coding/ # Generator, analyzer, indexer, parser, templates, test-gen
│ ├── filesystem/ # Multi-file ops, tracker, watcher, operations
│ ├── errors/ # Handler, retry, circuit-breaker
│ ├── utils/ # Logger, config, cache, cleaner, links, validators
│ └── types/ # TypeScript types and error types
├── tests/
│ ├── unit/ # 22 test suites (980 tests)
│ └── integration/ # Workflow integration tests
├── airllm_server.py # AirLLM Python sidecar
├── Dockerfile # Multi-stage Docker build
├── docker-compose.yml # Compose with volumes & networking
├── DOCUMENTATION.md # Full API reference (1,305 lines)
├── CONTRIBUTING.md # Contribution guidelines (544 lines)
├── SECURITY.md # Security policy (288 lines)
└── LICENSE.md # TJCL v1.0 license
🧪 Test Coverage
| Test Suite | Tests | File |
|---|---|---|
| Agent Executor | 120+ | tests/unit/agents/executor.test.ts |
| Agent Memory | 80+ | tests/unit/agents/memory.test.ts |
| LLM Parser | 80+ | tests/unit/llm/parser.test.ts |
| AirLLM Bridge | 15 | tests/unit/llm/airllm-bridge.test.ts |
| Code Analyzer | 100+ | tests/unit/coding/analyzer.test.ts |
| Code Generator | 40+ | tests/unit/coding/generator.test.ts |
| Code Indexer | 60+ | tests/unit/coding/indexer.test.ts |
| Code Parser | 80+ | tests/unit/coding/parser.test.ts |
| Templates | 60+ | tests/unit/coding/templates.test.ts |
| Test Generator | 100+ | tests/unit/coding/test-generator.test.ts |
| Circuit Breaker | 70+ | tests/unit/errors/circuit-breaker.test.ts |
| Error Handling | 60+ | tests/unit/errors/errors.test.ts |
| Retry Logic | 60+ | tests/unit/errors/retry.test.ts |
| Multi-File Ops | 60+ | tests/unit/filesystem/multi-file.test.ts |
| File Tracker | 100+ | tests/unit/filesystem/tracker.test.ts |
| File Watcher | 50+ | tests/unit/filesystem/watcher.test.ts |
| Project Builder | 80+ | tests/unit/project/builder.test.ts |
| Deployer | 70+ | tests/unit/project/deployer.test.ts |
| Packager | 80+ | tests/unit/project/packager.test.ts |
| Scaffolder | 80+ | `tests/unit/projec... |
Experimental Build with Windows Setup
🃏 The Joker Release: ENDj0K3R & Vibe Coding IDE (v1.0.0)
Welcome to the official release of The Joker! This release provides two powerful, AI-driven desktop applications built with Electron, React, and TypeScript.
Both applications are engineered to leverage local LLMs via LM Studio, ensuring your codebase, security logs, and conversations remain 100% local, private, and offline.
Below you will find the details for both .exe installers included in this release.
💻 1. The Joker - Vibe Coding IDE
A production-grade, AI-powered Desktop IDE built for "Vibe Coding." Simply describe what you want to build, and the application will scaffold, write, and debug the project for you.
✨ Key Features
- Familiar VS Code-Style UI: A sleek, split-panel layout featuring a dynamic file explorer, Monaco-based code editor, and an integrated terminal.
- Self-Correcting Autonomous Terminal: Powered by
node-ptyandxterm.js, the terminal does more than run commands. If an error occurs during a build or dependency installation, the AI automatically reads the terminal output, analyzes the stack trace, and applies the correct fix in real-time. - Persistent AI Copilot: A continuous chat interface that maintains context across your session, helping you generate code, explain files, and architect complex solutions.
- Project Generation & Scaffolding: Describe your project, and the AI will automatically generate the directory structure, fetch and install the right dependencies (with intelligent fallbacks), and set up your environment.
- Seamless Local AI: Connects directly to your local LM Studio instance via a built-in Setup Wizard. No API keys or cloud subscriptions needed.
Attached Asset:
The_Joker_Vibe_Coding_IDE_Setup.exe
🕵️♂️ 2. The Joker - ENDj0K3R (Pentesting Edition)
A specialized build designed for security researchers and ethical hackers. It includes everything from the Vibe Coding IDE, but integrates a localized, TypeScript-native port of PentestGPT to act as your intelligent penetration testing co-pilot.
✨ Key Features
- PentestGPT Architecture: Full feature parity with the core PentestGPT workflow, featuring dedicated Agent, Controller, and Session Management processes running locally.
- Phase-Based Recon & Exploitation: The AI guides you through structured phases of a pentest (Information Gathering, Vulnerability Assessment, Exploitation, and Privilege Escalation) using specialized, battle-tested security prompts.
- Automated Recon Tools: Features an integrated Web Scraping / Recon panel to quickly gather open-source intelligence and analyze target vectors.
- Maximum Privacy: By routing all data through LM Studio, sensitive vulnerability data, payloads, and target environments are never sent to external APIs like OpenAI.
- Ethical Guardrails: Features a mandatory, multi-checkbox Legal & Ethical verification modal to ensure responsible usage of the tool in authorized environments only.
Attached Asset:
The_Joker_ENDj0K3R_Setup_1.0.0.exe
🚀 Installation & Setup
- Start LM Studio: Ensure you have LM Studio installed. Load your preferred model (e.g., Llama 3, Qwen, or Mistral) and click "Start Server" on the local server tab (usually
http://localhost:1234). - Download: Download the desired
.exeinstaller from the Assets section below. - Install: Run the setup executable and follow the standard Windows installation wizard.
- Connect: Upon launching the app, follow the Setup Wizard to connect to your LM Studio endpoint. Once the connection is verified, you are ready to begin!
⚖️ Legal & Ethical Disclaimer
The Joker - ENDj0K3R is intended strictly for educational purposes, authorized security auditing, and capture-the-flag (CTF) environments.
You MUST have written, explicit permission to test any target system. The developers assume no liability and are not responsible for any misuse, damage, or legal consequences caused by the utilization of this software.
v1.0.0
🃏 The Joker v1.0.0 — Initial Release
An autonomous AI-powered terminal that understands natural language, scrapes the web intelligently, generates complete projects, and deploys applications.
Powered by LM Studio's AI models
✨ Highlights
- 🧠 Agentic AI Core — Natural language understanding with autonomous task planning, execution, and self-correction
- 🌐 Intelligent Web Scraping — Puppeteer-based scraping with stealth mode, anti-detection, and user-agent rotation
- 📁 Project Generation — Create complete projects from natural language descriptions
- 🚀 Deployment Automation — Docker, Kubernetes, and CI/CD pipeline support
- 💾 Persistent Memory — Context-aware sessions with intelligent summarization
- 🎨 Beautiful CLI — Rich terminal UI with progress indicators, banners, and formatted output
- 🔄 Resilient Error Handling — Retry logic, circuit breakers, and graceful degradation
🏗️ Architecture
| Module | Description |
|---|---|
| cli/ | Terminal interface, command handlers, output formatting, progress tracking |
| agents/ | Agent loop, action planner, tool executor, session memory |
| llm/ | LM Studio API client, prompt templates, response parsing, summarization |
| scraper/ | Puppeteer browser management, stealth navigation, data extraction |
| tools/ | Tool registry, web search, page scraping, data processing |
| coding/ | Code generation and project scaffolding |
| project/ | Project management utilities |
| filesystem/ | File system operations |
| errors/ | Error handler, retry logic, circuit breaker |
| utils/ | Logger, config, cache, data cleaning, link validation |
80%+ code coverage across 22 test suites
📦 Tech Stack
- Language: TypeScript 5.9
- Runtime: Node.js 20+
- LLM: LM Studio (local inference)
- Browser Automation: Puppeteer + puppeteer-extra + stealth plugin
- HTTP: Axios
- HTML Parsing: Cheerio
- Logging: Winston
- Testing: Jest + ts-jest
- Linting: ESLint + Prettier
🚀 Getting Started
git clone https://github.com/ratna3/theJoker.git
cd theJoker
npm install
cp .env.example .env
npm run build
npm start
Make sure LM Studio is running with a compatible model before starting.
📄 License
Licensed under The Joker Contribution License (TJCL) v1.0 — view source ✅ | contribute ✅ | personal use ✅ | clone/fork ❌ | redistribute ❌ | commercial use ❌
Made with ❤️ by Ratna Kirti
# 🃏 The Joker v1.0.0 — Initial ReleaseAn autonomous AI-powered terminal that understands natural language, scrapes the web intelligently, generates complete projects, and deploys applications.
Powered by LM Studio's AI models
✨ Highlights
- 🧠 Agentic AI Core — Natural language understanding with autonomous task planning, execution, and self-correction
- 🌐 Intelligent Web Scraping — Puppeteer-based scraping with stealth mode, anti-detection, and user-agent rotation
- 📁 Project Generation — Create complete projects from natural language descriptions
- 🚀 Deployment Automation — Docker, Kubernetes, and CI/CD pipeline support
- 💾 Persistent Memory — Context-aware sessions with intelligent summarization
- 🎨 Beautiful CLI — Rich terminal UI with progress indicators, banners, and formatted output
- 🔄 Resilient Error Handling — Retry logic, circuit breakers, and graceful degradation
🏗️ Architecture
| Module | Description |
|---|---|
cli/ |
Terminal interface, command handlers, output formatting, progress tracking |
agents/ |
Agent loop, action planner, tool executor, session memory |
llm/ |
LM Studio API client, prompt templates, response parsing, summarization |
scraper/ |
Puppeteer browser management, stealth navigation, data extraction |
tools/ |
Tool registry, web search, page scraping, data processing |
coding/ |
Code generation and project scaffolding |
project/ |
Project management utilities |
filesystem/ |
File system operations |
errors/ |
Error handler, retry logic, circuit breaker |
utils/ |
Logger, config, cache, data cleaning, link validation |
🔧 Built-in Tools
| Tool | Description |
|---|---|
web_search |
Search the web via Google with configurable result count |
scrape_page |
Scrape page content with CSS selectors, scroll loading, and wait conditions |
extract_links |
Extract and filter all links from a page |
process_data |
Process and structure scraped data |
💻 Built-in Commands
| Command | Aliases | Description |
|---|---|---|
help |
h, ? |
Show available commands |
clear |
cls, c |
Clear terminal |
exit |
quit, q |
Exit The Joker |
history |
hist |
Show command history |
status |
stat |
Check LM Studio connection |
agent |
— | Run a query through the agent |
memory |
mem |
Show agent memory stats |
version |
ver, v |
Show version info |
🧪 Testing
| Suite | Tests |
|---|---|
| Agent System | 120+ |
| LLM Integration | 80+ |
| Web Scraper | 90+ |
| Tools | 100+ |
| CLI | 80+ |
| Error Handling | 70+ |
| Project Management | 100+ |
| Utilities | 150+ |
| Total | 966 ✅ |
80%+ code coverage across 22 test suites
📦 Tech Stack
- Language: TypeScript 5.9
- Runtime: Node.js 20+
- LLM: LM Studio (local inference)
- Browser Automation: Puppeteer + puppeteer-extra + stealth plugin
- HTTP: Axios
- HTML Parsing: Cheerio
- Logging: Winston
- Testing: Jest + ts-jest
- Linting: ESLint + Prettier
🚀 Getting Started
git clone https://github.com/ratna3/theJoker.git
cd theJoker
npm install
cp .env.example .env
npm run build
npm startMake sure LM Studio is running with a compatible model before starting.
📄 License
Licensed under The Joker Contribution License (TJCL) v1.0 — view source ✅ | contribute ✅ | personal use ✅ | clone/fork ❌ | redistribute ❌ | commercial use ❌
Made with ❤️ by [Ratna Kirti](https://github.com/ratna3)