Skip to content

Our Autonogrammer specifications allow for unique Digital Identities for each Autonomous Programmer. This one is Agile; because it's written for the Agile Methodology. If you're not part of the engineering team this software is not designed for you, please practice safe engineering.

Notifications You must be signed in to change notification settings

swcstudio/agile-autonogrammer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Agile Programmers

License Node.js TypeScript

AI-powered terminal assistant that understands your codebase, edits files, runs commands, and automates development workflows.

πŸš€ Features

  • 🧠 AI-Powered Intelligence: Advanced AI agents with multi-modal capabilities
  • ⚑ Lightning Fast: Built with Bun and modern technologies for maximum performance
  • πŸ”§ Developer Tools: Comprehensive suite of development tools and automation
  • 🌐 Multi-Model Support: Claude, GPT-4, and other leading AI models
  • πŸš€ Enterprise Ready: Production-ready with security audits and monitoring
  • πŸ”’ Security First: Built-in permission systems and security features

πŸ“¦ Installation

Global Installation

# Using npm
npm install -g agile-programmers

# Using pnpm
pnpm install -g agile-programmers

# Using yarn
yarn global add agile-programmers

Quick Start with npx

npx agile-programmers

🎯 Usage

Interactive Mode

# Start the interactive terminal assistant
agile

# Or with verbose output
agile --verbose

Command Mode

# View available commands
agile --help

# Run specific tasks
agile build
agile test
agile deploy

πŸ—οΈ Development

This project uses a monorepo structure with Turbo for build orchestration and pnpm for package management.

Prerequisites

  • Node.js 18+
  • pnpm 10.14.0
  • Bun (recommended for development)

Setup

# Clone the repository
git clone https://github.com/swcstudio/agile-programmers.git
cd agile-programmers

# Install dependencies
pnpm install

# Start development mode
pnpm run dev

# Build all packages
pnpm run build

Project Structure

agile-programmers/
β”œβ”€β”€ apps/                    # Application entry points
β”œβ”€β”€ packages/               # Shared packages
β”‚   β”œβ”€β”€ @agile/            # Core agile packages
β”‚   β”‚   β”œβ”€β”€ ai-agents/     # AI agent system
β”‚   β”‚   β”œβ”€β”€ ai-core/       # Core AI functionality
β”‚   β”‚   β”œβ”€β”€ core/          # Framework core
β”‚   β”‚   β”œβ”€β”€ types/         # TypeScript definitions
β”‚   β”‚   └── utils/         # Utility functions
β”‚   β”œβ”€β”€ api/               # API layer
β”‚   └── hooks/             # React hooks
β”œβ”€β”€ src/                   # Main application source
β”œβ”€β”€ scripts/              # Build and deployment scripts
└── wasm-modules/         # WebAssembly modules

πŸ§ͺ Testing

# Run all tests
pnpm run test

# Run specific test suites
pnpm run test:ai
pnpm run test:wasm
pnpm run test:security

# Run with coverage
pnpm run test:coverage

πŸ“Š Benchmarking

# Run AI benchmarks
pnpm run bench:ai

# Run WASM benchmarks
pnpm run bench:wasm

πŸš€ Deployment

This project includes Vercel configuration for easy deployment:

  1. GitHub Integration: Connect your GitHub repository to Vercel
  2. Auto-Deploy: Pushes to main branch automatically deploy
  3. Environment Variables: Set up required API keys in Vercel dashboard

Required Environment Variables

ANTHROPIC_API_KEY=your_claude_api_key
OPENAI_API_KEY=your_openai_api_key
GOOGLE_AI_API_KEY=your_gemini_api_key  # Optional
HUGGINGFACE_API_KEY=your_hf_api_key    # Optional

πŸ”§ Configuration

The project supports multiple configuration methods:

  • Global config: ~/.agile.json
  • Project config: ./.agile.json
  • Environment variables
  • CLI parameters

Example Configuration

{
  "defaultModel": "claude-3-sonnet",
  "models": {
    "claude-3-sonnet": {
      "provider": "anthropic",
      "apiKey": "${ANTHROPIC_API_KEY}"
    },
    "gpt-4": {
      "provider": "openai",
      "apiKey": "${OPENAI_API_KEY}"
    }
  },
  "permissions": {
    "allowFileWrite": true,
    "allowCommandExecution": true,
    "allowNetworkAccess": false
  }
}

πŸ›οΈ Architecture

Multi-Model AI System

  • Dynamic Model Switching: Runtime model changes without session restart
  • Load Balancing: Intelligent request distribution across models
  • Fallback Chains: Automatic failover to backup models

Agent System

  • Specialized Agents: Task-specific AI agents with focused capabilities
  • Collaboration: Inter-agent communication and task delegation
  • Learning: Experience-based improvement and adaptation

Tool Integration

  • MCP Protocol: Model Context Protocol for extensible tools
  • Permission System: Granular control over tool access
  • Security: Built-in sandboxing and validation

πŸ”’ Security

Security is a top priority. The system includes:

  • Permission Management: Granular tool and resource access control
  • Input Validation: Comprehensive validation of all inputs
  • Secure Execution: Sandboxed command and file operations
  • Audit Logging: Complete audit trail of all actions
  • Security Scanning: Automated security vulnerability scanning

🀝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

Code Style

  • Follow TypeScript best practices
  • Use Prettier for formatting
  • Write comprehensive tests
  • Document public APIs

πŸ“„ License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

πŸ™ Acknowledgments

πŸ“š Documentation

πŸ”— Links


Built with ❀️ by the Agile Programmers team

About

Our Autonogrammer specifications allow for unique Digital Identities for each Autonomous Programmer. This one is Agile; because it's written for the Agile Methodology. If you're not part of the engineering team this software is not designed for you, please practice safe engineering.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published