AI prompts
base on AI enabled pair programmer for Claude, GPT, O Series, Grok, Deepseek, Gemini and 300+ models <h1 align="center">āļø Forge: AI-Enhanced Terminal Development Environment</h1>
<p align="center">A comprehensive coding agent that integrates AI capabilities with your development environment</p>
<p align="center"><code>npm install -g @antinomyhq/forge</code></p>
[](https://github.com/antinomyhq/forge/actions)
[](https://github.com/antinomyhq/forge/releases)
[](https://discord.gg/kRZBPpkgwq)
[](https://cla-assistant.io/antinomyhq/forge)

---
<details>
<summary><strong>Table of Contents</strong></summary>
- [Quickstart](#quickstart)
- [Usage Examples](#usage-examples)
- [Interactive Mode Examples](#interactive-mode-examples)
- [Why Forge?](#why-forge)
- [Command-Line Options](#command-line-options)
- [Advanced Configuration](#advanced-configuration)
- [Provider Configuration](#provider-configuration)
- [forge.yaml Configuration Options](#forgeyaml-configuration-options)
- [Documentation](#documentation)
- [Community](#community)
- [Support Us](#support-us)
</details>
---
## Quickstart
Install globally:
```bash
npm install -g @antinomyhq/forge
```
Sign up at [Antinomy.ai](https://app.antinomy.ai/app/) to enable the Forge provider.
Then set up your Forge provider key:
```bash
# .env
FORGE_KEY=ForgeKey
```
Run Forge in interactive mode:
```bash
forge
```
That's it! Forge is now ready to assist you with your development tasks.
## Usage Examples
Forge can be used in different ways depending on your needs. Here are some common usage patterns:
<details>
<summary><strong>Code Understanding</strong></summary>
```
> Can you explain how the authentication system works in this codebase?
```
Forge will analyze your project's structure, identify authentication-related files, and provide a detailed explanation of the authentication flow, including the relationships between different components.
</details>
<details>
<summary><strong>Implementing New Features</strong></summary>
```
> I need to add a dark mode toggle to our React application. How should I approach this?
```
Forge will suggest the best approach based on your current codebase, explain the steps needed, and even scaffold the necessary components and styles for you.
</details>
<details>
<summary><strong>Debugging Assistance</strong></summary>
```
> I'm getting this error: "TypeError: Cannot read property 'map' of undefined". What might be causing it?
```
Forge will analyze the error, suggest potential causes based on your code, and propose different solutions to fix the issue.
</details>
<details>
<summary><strong>Code Reviews</strong></summary>
```
> Please review the code in src/components/UserProfile.js and suggest improvements
```
Forge will analyze the code, identify potential issues, and suggest improvements for readability, performance, security, and maintainability.
</details>
<details>
<summary><strong>Learning New Technologies</strong></summary>
```
> I want to integrate GraphQL into this Express application. Can you explain how to get started?
```
Forge will provide a tailored tutorial on integrating GraphQL with Express, using your specific project structure as context.
</details>
<details>
<summary><strong>Database Schema Design</strong></summary>
```
> I need to design a database schema for a blog with users, posts, comments, and categories
```
Forge will suggest an appropriate schema design, including tables/collections, relationships, indexes, and constraints based on your project's existing database technology.
</details>
<details>
<summary><strong>Refactoring Legacy Code</strong></summary>
```
> Help me refactor this class-based component to use React Hooks
```
Forge can help modernize your codebase by walking you through refactoring steps and implementing them with your approval.
</details>
<details>
<summary><strong>Git Operations</strong></summary>
```
> I need to merge branch 'feature/user-profile' into main but there are conflicts
```
Forge can guide you through resolving git conflicts, explaining the differences and suggesting the best way to reconcile them.
</details>
## Why Forge?
Forge is designed for developers who want to enhance their workflow with AI assistance while maintaining full control over their development environment.
- **Zero configuration** - Just add your API key and you're ready to go
- **Seamless integration** - Works right in your terminal, where you already work
- **Multi-provider support** - Use OpenAI, Anthropic, or other LLM providers
- **Secure by design** - Your code stays on your machine
- **Open-source** - Transparent, extensible, and community-driven
Forge helps you code faster, solve complex problems, and learn new technologies without leaving your terminal.
## Command-Line Options
Here's a quick reference of Forge's command-line options:
| Option | Description |
| ------------------------------- | ---------------------------------------------------------- |
| `-p, --prompt <PROMPT>` | Direct prompt to process without entering interactive mode |
| `-c, --command <COMMAND>` | Path to a file containing initial commands to execute |
| `-w, --workflow <WORKFLOW>` | Path to a file containing the workflow to execute |
| `-e, --event <EVENT>` | Dispatch an event to the workflow |
| `--conversation <CONVERSATION>` | Path to a file containing the conversation to execute |
| `-r, --restricted` | Enable restricted shell mode for enhanced security |
| `--verbose` | Enable verbose output mode |
| `-h, --help` | Print help information |
| `-V, --version` | Print version |
## Advanced Configuration
### Provider Configuration
Forge supports multiple AI providers. Below are setup instructions for each supported provider:
<details>
<summary><strong>Antinomy.ai (Recommended)</strong></summary>
```bash
# .env
FORGE_KEY=ForgeKey
```
To use Antinomy's provider with Forge:
1. Visit [https://app.antinomy.ai/](https://app.antinomy.ai/)
2. Login with your existing credentials or create a new account
3. Once logged in, your account will automatically enable the Forge Provider
_No changes in `forge.yaml` required_
</details>
<details>
<summary><strong>OpenRouter</strong></summary>
```bash
# .env
OPENROUTER_API_KEY=<your_openrouter_api_key>
```
_No changes in `forge.yaml` required_
</details>
<details>
<summary><strong>OpenAI</strong></summary>
```bash
# .env
OPENAI_API_KEY=<your_openai_api_key>
```
```yaml
# forge.yaml
model: o3-mini-high
```
</details>
<details>
<summary><strong>Anthropic</strong></summary>
```bash
# .env
ANTHROPIC_API_KEY=<your_anthropic_api_key>
```
```yaml
# forge.yaml
model: claude-3.7-sonnet
```
</details>
<details>
<summary><strong>Google Vertex AI</strong></summary>
```bash
# .env
PROJECT_ID=<your_project_id>
LOCATION=<your_location>
OPENAI_API_KEY=<vertex_ai_key>
OPENAI_URL=https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/openapi
```
```yaml
# forge.yaml
model: publishers/anthropic/models/claude-3-7-sonnet
```
</details>
<details>
<summary><strong>OpenAI-Compatible Providers</strong></summary>
```bash
# .env
OPENAI_API_KEY=<your_provider_api_key>
OPENAI_URL=<your_provider_url>
```
```yaml
# forge.yaml
model: <provider-specific-model>
```
</details>
<details>
<summary><strong>Groq</strong></summary>
```bash
# .env
OPENAI_API_KEY=<your_groq_api_key>
OPENAI_URL=https://api.groq.com/openai/v1
```
```yaml
# forge.yaml
model: deepseek-r1-distill-llama-70b
```
</details>
<details>
<summary><strong>Amazon Bedrock</strong></summary>
To use Amazon Bedrock models with Forge, you'll need to first set up the [Bedrock Access Gateway](https://github.com/aws-samples/bedrock-access-gateway):
1. **Set up Bedrock Access Gateway**:
- Follow the deployment steps in the [Bedrock Access Gateway repo](https://github.com/aws-samples/bedrock-access-gateway)
- Create your own API key in Secrets Manager
- Deploy the CloudFormation stack
- Note your API Base URL from the CloudFormation outputs
2. **Create these files in your project directory**:
```bash
# .env
OPENAI_API_KEY=<your_bedrock_gateway_api_key>
OPENAI_URL=<your_bedrock_gateway_base_url>
```
```yaml
# forge.yaml
model: anthropic.claude-3-opus
```
</details>
### forge.yaml Configuration Options
The `forge.yaml` file supports several advanced configuration options that let you customize Forge's behavior.
<details>
<summary><strong>Custom Rules</strong></summary>
Add your own guidelines that all agents should follow when generating responses.
```yaml
# forge.yaml
custom_rules: |
1. Always add comprehensive error handling to any code you write.
2. Include unit tests for all new functions.
3. Follow our team's naming convention: camelCase for variables, PascalCase for classes.
```
</details>
<details>
<summary><strong>Commands</strong></summary>
Define custom commands as shortcuts for repetitive prompts:
```yaml
# forge.yaml
commands:
- name: "refactor"
description: "Refactor selected code"
prompt: "Please refactor this code to improve readability and performance"
```
</details>
<details>
<summary><strong>Model</strong></summary>
Specify the default AI model to use for all agents in the workflow.
```yaml
# forge.yaml
model: "claude-3.7-sonnet"
```
</details>
<details>
<summary><strong>Max Walker Depth</strong></summary>
Control how deeply Forge traverses your project directory structure when gathering context.
```yaml
# forge.yaml
max_walker_depth: 3 # Limit directory traversal to 3 levels deep
```
</details>
<details>
<summary><strong>Temperature</strong></summary>
Adjust the creativity and randomness in AI responses. Lower values (0.0-0.3) produce more focused, deterministic outputs, while higher values (0.7-2.0) generate more diverse and creative results.
```yaml
# forge.yaml
temperature: 0.7 # Balanced creativity and focus
```
</details>
---
<details>
<summary><strong>Model Context Protocol (MCP)</strong></summary>
The MCP feature allows AI agents to communicate with external tools and services. This implementation follows Anthropic's [Model Context Protocol](https://docs.anthropic.com/en/docs/claude-code/tutorials#set-up-model-context-protocol-mcp) design.
### MCP Configuration
Configure MCP servers using the CLI:
```bash
# List all MCP servers
forge mcp list
# Add a new server
forge mcp add
# Add a server using JSON format
forge mcp add-json
# Get server details
forge mcp get
# Remove a server
forge mcp remove
```
Or manually create a `.mcp.json` file with the following structure:
```json
{
"mcp_servers": {
"server_name": {
"command": "command_to_execute",
"args": ["arg1", "arg2"],
"env": {"ENV_VAR": "value"}
},
"another_server": {
"url": "http://localhost:3000/events"
}
}
}
```
MCP configurations are read from two locations (in order of precedence):
1. Local configuration (project-specific)
2. User configuration (user-specific)
### Example Use Cases
MCP can be used for various integrations:
- Web browser automation
- External API interactions
- Tool integration
- Custom service connections
### Usage in Multi-Agent Workflows
MCP tools can be used as part of multi-agent workflows, allowing specialized agents to interact with external systems as part of a collaborative problem-solving approach.
</details>
---
## Documentation
For comprehensive documentation on all features and capabilities, please visit the [documentation site](https://github.com/antinomyhq/forge/tree/main/docs).
---
## Community
Join our vibrant Discord community to connect with other Forge users and contributors, get help with your projects, share ideas, and provide feedback!
[](https://discord.gg/kRZBPpkgwq)
---
## Support Us
Your support drives Forge's continued evolution! By starring our GitHub repository, you:
- Help others discover this powerful tool š
- Motivate our development team šŖ
- Enable us to prioritize new features š ļø
- Strengthen our open-source community š±
", Assign "at most 3 tags" to the expected json: {"id":"13878","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"