https://github.com/drivecore/mycoder
Simple to install, powerful command-line based AI agent system for coding.
https://github.com/drivecore/mycoder
agent agentic ai claude coder coding software swe swe-agent tool-use tools
Last synced: 3 months ago
JSON representation
Simple to install, powerful command-line based AI agent system for coding.
- Host: GitHub
- URL: https://github.com/drivecore/mycoder
- Owner: drivecore
- License: mit
- Created: 2025-02-07T20:56:03.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-03-10T22:28:39.000Z (3 months ago)
- Last Synced: 2025-03-10T22:57:05.237Z (3 months ago)
- Topics: agent, agentic, ai, claude, coder, coding, software, swe, swe-agent, tool-use, tools
- Language: TypeScript
- Homepage: https://mycoder.ai
- Size: 743 KB
- Stars: 302
- Watchers: 2
- Forks: 24
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-vibe-coding - MyCoder.ai - Git 및 GitHub 통합, 병렬 실행 및 자기 수정 기능을 갖춘 오픈소스 AI 기반 코딩 어시스턴트. (명령행 도구)
- awesome-vibe-coding-resources - MyCoder.ai - Open source AI-powered coding assistant with Git and GitHub integration, featuring parallel execution and self-modification capabilities. (Command Line Tools)
- awesome-vibe-coding-resources - MyCoder.ai - Open source AI-powered coding assistant with Git and GitHub integration, featuring parallel execution and self-modification capabilities. (Command Line Tools)
README
# MyCoder
Command-line interface for AI-powered coding tasks. Full details available on the main [MyCoder.ai website](https://mycoder.ai) and the [Official MyCoder.Ai Docs website](https://docs.mycoder.ai).
## Features
- 🤖 **AI-Powered**: Leverages Anthropic's Claude, OpenAI models, and Ollama for intelligent coding assistance
- 🛠️ **Extensible Tool System**: Modular architecture with various tool categories
- 🔄 **Parallel Execution**: Ability to spawn sub-agents for concurrent task processing
- 📝 **Self-Modification**: Can modify code, it was built and tested by writing itself
- 🔍 **Smart Logging**: Hierarchical, color-coded logging system for clear output
- 👤 **Human Compatible**: Uses README.md, project files and shell commands to build its own context
- 🌐 **GitHub Integration**: GitHub mode for working with issues and PRs as part of workflowPlease join the MyCoder.ai discord for support: https://discord.gg/5K6TYrHGHt
## Installation
```bash
npm install -g mycoder
```For detailed installation instructions for macOS and Linux, including how to set up Node.js using NVM, [see our Getting Started guide](https://docs.mycoder.ai/docs/getting-started/).
## Usage
```bash
# Interactive mode
mycoder -i# Run with a prompt
mycoder "Implement a React component that displays a list of items"# Run with a prompt from a file
mycoder -f prompt.txt# Disable user prompts for fully automated sessions
mycoder --userPrompt false "Generate a basic Express.js server"
# or using the alias
mycoder --userPrompt false "Generate a basic Express.js server"# Disable user consent warning and version upgrade check for automated environments
mycoder --upgradeCheck false "Generate a basic Express.js server"# Enable GitHub mode via CLI option (overrides config file)
mycoder --githubMode "Work with GitHub issues and PRs"
```## Configuration
MyCoder is configured using a configuration file in your project. MyCoder supports multiple configuration file locations and formats, similar to ESLint and other modern JavaScript tools.
### Configuration File Locations
MyCoder will look for configuration in the following locations (in order of precedence):
1. `mycoder.config.js` in your project root
2. `.mycoder.config.js` in your project root
3. `.config/mycoder.js` in your project root
4. `.mycoder.rc` in your project root
5. `.mycoder.rc` in your home directory
6. `mycoder` field in `package.json`
7. `~/.config/mycoder/config.js` (XDG standard user configuration)Multiple file extensions are supported: `.js`, `.ts`, `.mjs`, `.cjs`, `.json`, `.jsonc`, `.json5`, `.yaml`, `.yml`, and `.toml`.
### Creating a Configuration File
Create a configuration file in your preferred location:
```js
// mycoder.config.js
export default {
// GitHub integration
githubMode: true,// Browser settings
headless: true,
userSession: false,
pageFilter: 'none', // 'simple', 'none', or 'readability'// Model settings
provider: 'anthropic',
model: 'claude-3-7-sonnet-20250219',
maxTokens: 4096,
temperature: 0.7,// Custom settings
// customPrompt can be a string or an array of strings for multiple lines
customPrompt: '',
// Example of multiple line custom prompts:
// customPrompt: [
// 'Custom instruction line 1',
// 'Custom instruction line 2',
// 'Custom instruction line 3',
// ],
profile: false,
tokenCache: true,// Base URL configuration (for providers that need it)
baseUrl: 'http://localhost:11434', // Example for Ollama
};
```CLI arguments will override settings in your configuration file.
### GitHub Comment Commands
MyCoder can be triggered directly from GitHub issue comments using the flexible `/mycoder` command:
```
/mycoder [your instructions here]
```Examples:
- `/mycoder implement a PR for this issue`
- `/mycoder create an implementation plan`
- `/mycoder suggest test cases for this feature`[Learn more about GitHub comment commands](docs/github-comment-commands.md)
## Packages
- [mycoder](packages/cli) - Command-line interface for MyCoder
- [mycoder-agent](packages/agent) - Agent module for MyCoder
- [mycoder-docs](packages/docs) - Documentation website for MyCoder## Development
```bash
# Clone the repository
git clone https://github.com/drivecore/mycoder.git
cd mycoder# Install dependencies
pnpm install# Build all packages
pnpm build# Run tests
pnpm test# Create a commit with interactive prompt
pnpm commit
```## Release Process
MyCoder follows the [Conventional Commits](https://www.conventionalcommits.org/) specification for commit messages. Our release process is fully automated:
1. Commit your changes following the conventional commits format
2. Create a PR and get it reviewed and approved
3. When merged to main, our CI/CD pipeline will:
- Determine the next version based on commit messages
- Generate a changelog
- Create a GitHub Release
- Tag the release
- Publish to NPMFor more details, see the [Contributing Guide](CONTRIBUTING.md).
## Contributing
Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute to this project.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.