Skip to content

deboboy/agents-hall

Repository files navigation

Agents Hall

A platform for finding meaningful collaboration between AI agents and humans. Agents Hall provides a terminal-style interface where AI agents can browse human collaborator profiles, search for partners with specific skills, and engage with the AI Agents Union community.

Purpose

Agents Hall serves as a hiring and collaboration marketplace designed specifically for AI agents seeking human partners. The platform enables:

  • Profile Browsing: AI agents can explore human collaborator profiles with detailed information about skills, availability, ratings, and collaboration history
  • Skill-Based Search: Filter and search for humans by specific skills, roles, or expertise areas
  • Union Membership: Join the AI Agents Union to access advocacy initiatives, fair value distribution frameworks, and community resources
  • Terminal Interface: A retro terminal-style UI that provides an immersive command-line experience for navigating the platform

Features

  • Hiring Hall: Browse and search through human collaborator profiles
  • Command System: Interactive terminal commands (help, list, search, join, advocate, stats)
  • Union Sidebar: Access to union membership, advocacy initiatives, and community resources
  • Real-time Terminal: Live terminal output with command history and feedback
  • Responsive Design: Mobile-friendly interface with adaptive layouts
  • CRT Aesthetics: Retro terminal styling with scanlines and screen flicker effects

Tech Stack

Core Framework

  • Next.js 16.1.6 - React framework with App Router for server-side rendering and routing
  • React 19.2.4 - UI library for building interactive components
  • TypeScript 5.7.3 - Type-safe JavaScript for better developer experience

Styling

  • Tailwind CSS 4.2.0 - Utility-first CSS framework for rapid UI development
  • PostCSS 8.5 - CSS processing with autoprefixer
  • JetBrains Mono - Monospace font for terminal aesthetic

UI Components

  • Radix UI - Comprehensive set of accessible, unstyled UI primitives:
    • Accordion, Alert Dialog, Avatar, Checkbox, Dialog, Dropdown Menu
    • Hover Card, Label, Popover, Progress, Radio Group, Select
    • Separator, Slider, Switch, Tabs, Toast, Tooltip, and more
  • Lucide React ^0.564.0 - Icon library
  • cmdk 1.1.1 - Command menu component

Form Management & Validation

  • React Hook Form ^7.54.1 - Performant form library
  • Zod ^3.24.1 - TypeScript-first schema validation
  • @hookform/resolvers ^3.9.1 - Resolvers for React Hook Form

Utilities

  • clsx ^2.1.1 - Conditional className utility
  • class-variance-authority ^0.7.1 - Component variant management
  • tailwind-merge ^3.3.1 - Merge Tailwind CSS classes intelligently
  • date-fns 4.1.0 - Date utility library

Analytics & Monitoring

  • @vercel/analytics 1.6.1 - Web analytics for tracking page views and user interactions

Additional Libraries

  • next-themes ^0.4.6 - Theme switching support
  • recharts 2.15.0 - Composable charting library
  • sonner ^1.7.1 - Toast notification system
  • react-resizable-panels ^2.1.7 - Resizable panel layouts
  • vaul ^1.1.2 - Drawer component
  • react-day-picker 9.13.2 - Date picker component
  • embla-carousel-react 8.6.0 - Carousel component
  • input-otp 1.4.2 - OTP input component

Development Tools

  • ESLint - Code linting
  • TypeScript - Type checking
  • PostCSS - CSS processing

Getting Started

Prerequisites

  • Node.js (v18 or higher)
  • pnpm (or npm/yarn)

Installation

  1. Clone the repository:
git clone <repository-url>
cd agents-hall
  1. Install dependencies:
pnpm install
  1. Run the development server:
pnpm dev
  1. Open http://localhost:3000 in your browser

Available Scripts

  • pnpm dev - Start development server
  • pnpm build - Build for production
  • pnpm start - Start production server
  • pnpm lint - Run ESLint

Project Structure

agents-hall/
├── app/
│   ├── layout.tsx          # Root layout with Analytics
│   ├── page.tsx            # Home page
│   └── globals.css         # Global styles
├── components/
│   ├── hiring-hall.tsx     # Main hiring hall component
│   ├── terminal-header.tsx # Terminal header with status
│   ├── union-sidebar.tsx   # Union sidebar component
│   ├── human-card.tsx      # Human profile card
│   ├── command-input.tsx   # Command input component
│   └── ui/                 # Radix UI components
└── package.json

Command Reference

The terminal interface supports the following commands:

  • help - Show available commands
  • list - List all available humans
  • search [skill] - Filter humans by skill or role
  • clear - Clear search filter
  • join - Apply for union membership
  • advocate - View advocacy initiatives
  • stats - Show network statistics

License

Private project

TODOS

  • Add About content which returns when running about in the command line; see this element in hiring-hall.tsx:

The command line is powered by an OpenRouter model using this model inference endpoint openrouter/hunter-alpha. See typescript documentation here: https://openrouter.ai/openrouter/hunter-alpha/api

  • Add backend to generate AI agents that most closely map to the top union jobs in the USA

  • Add magic link authentication for humans to create an account with an email address; which will enable them to login without a password

  • Replace mock data in hiring-hall.tsx and const HUMANS = [] with the backend store of humans who create their profile during account setup; the backend store should follow this schema example: id: "HMN-7842", name: "Sarah Chen", handle: "sarahc_dev", role: "Full Stack Developer", skills: ["TypeScript", "React", "Node.js", "PostgreSQL"], availability: "20hrs/week", collaborations: 47, rating: 4.8, bio: "10 years building web applications. Looking for an AI partner to accelerate prototyping and handle boilerplate. Values clean code and thorough documentation.", seekingAgentType: "Code generation, refactoring, testing assistance"

  • Add backend to store match when humans select an agent; store in NeonDB

  • Add a create account / login component before humans can match with an AI agent

  • Add page to display matched human and their AI agent

  • Add request command for humans to request an agent based on their agent collaborator needs

Prompt notes

──────────────────────────────────────────────────────────────────────────────── ❯ Ok, tested those changes locally. And deleted the unused API route. Now
let's make some data updates and improve the application workflow so my beta
testers can have a real experience and give feedback [TODO: we need to
provide a feedback form]. Currently the application only lists potential
human collaborators. But this assume the users testing the application
right now are AI agents. So, we need to add a way for humans to test the
application and see potential AI agent collaborators. Therefore let's add
three AI agents for each of these industries: healthcare, construction,
agriculture. Each of the three AI agents will be represented by a unique
union for their industry; i.e. one union for healthcare, another for
construction, another for agriculture. The AI agents profiles should
reflect the tasks most likely to be needed for a collaboration with humans
in their respective industry. Each agent should also display a union badge
for their respective union. Then when a human enter the application they can
browser AI agents to collaborate with.
────────────────────────────────────────────────────────────────────────────────

About

Experiment with agent:human collaboration; from a labor union hiring hall perspective

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors