@enfiy/enfiy-code
Version:
Universal AI Code Assistant (Enfiy Code)
323 lines (222 loc) • 10.1 kB
Markdown
<div style="max-width: 720px; margin: 0 auto;">
<div align="center">
# Enfiy Code
### Your Universal AI Coding Agent
<img src="https://skillicons.dev/icons?i=npm,nodejs,typescript,windows,linux,apple" />
<p align="center"><code>npm install -g @enfiy/enfiy-code</code></p>
</div>
## Screenshot

## Quickstart
Ensure you have [Node.js v18 or higher](https://nodejs.org/en/download) installed.
**Option 1: Run without installing (Recommended for first-time users)**
```bash
npx @enfiy/enfiy-code
```
**Option 2: Install globally (Recommended for regular use)**
```bash
npm install -g @enfiy/enfiy-code
enfiy
```
On first run, you'll be guided through selecting a theme, AI provider, and authentication method. Your settings persist automatically.
## About
Enfiy Code is a command-line AI workflow tool that integrates with your development environment. It understands your code and helps you work more efficiently, whether you're working locally or in the cloud.
### Key Features
- Query and edit large codebases using advanced AI models with extended context support
- Generate applications from PDFs or sketches using multimodal AI
- Automate tasks like querying pull requests or handling complex rebases
- Connect external tools through MCP (Model Context Protocol)
- Support for multiple AI providers - both cloud and local
## AI Providers
### Cloud AI (Powerful)
| Provider | Description |
| ------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------- |
| <img src="./docs/assets/provider/provider-anthropic-claude.png" height="42" /> | **[Anthropic Claude](https://www.anthropic.com/claude)**<br>Industry-leading AI for coding tasks |
| <img src="./docs/assets/provider/provider-openai-gpt.png" height="42" /> | **[OpenAI GPT](https://openai.com/)**<br>Popular and versatile language models |
| <img src="./docs/assets/provider/provider-google-gemini.png" height="42" /> | **[Google Gemini](https://deepmind.google/technologies/gemini/)**<br>Multimodal AI with strong reasoning capabilities |
| <img src="./docs/assets/provider/provider-mistral-ai.png" height="42" /> | **[Mistral AI](https://mistral.ai/)**<br>Open-source focused AI models |
| <img src="./docs/assets/provider/provider-openrouter.png" height="42" /> | **[OpenRouter](https://openrouter.ai/)**<br>Unified access to many AI models |
### Local AI (Private)
| Provider | Description |
| -------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| <img src="./docs/assets/provider/provider-ollama.png" height="42" /> | **[Ollama](https://ollama.com/)**<br>Run models locally with full privacy |
## Development
### Prerequisites for Development
- Node.js v18 or higher
- npm or yarn package manager
- Git
### Setting Up Development Environment
1. **Clone the repository**
```bash
git clone https://github.com/enfiy/enfiy-code.git
cd enfiy-code
```
2. **Install dependencies**
```bash
npm install
```
This will install all required packages listed in `package.json`.
3. **Build the project**
```bash
npm run build
```
This compiles TypeScript and prepares the application for execution.
4. **Start the development version**
```bash
npm start
```
This launches Enfiy Code in development mode.
### Development Commands
- `npm run start` - Start in development mode
- `npm run debug` - Start with debugging enabled
- `npm run build` - Build for production
- `npm run test` - Run test suite
- `npm run lint` - Check code style and quality
- `npm run format` - Format code automatically
- `npm run typecheck` - TypeScript type checking
- `npm run preflight` - Complete CI pipeline check
## Authentication
### OAuth Configuration (Optional)
For production use, you may want to set up custom OAuth applications:
#### Google Gemini OAuth
```bash
# Set custom Google OAuth credentials (optional)
export ENFIY_GOOGLE_OAUTH_CLIENT_ID="your-client-id.apps.googleusercontent.com"
export ENFIY_GOOGLE_OAUTH_CLIENT_SECRET="your-client-secret"
```
**To create your own Google OAuth client:**
1. Visit [Google Cloud Console](https://console.developers.google.com/auth/clients)
2. Create new OAuth 2.0 Client ID
3. Select "Desktop application"
4. Name it "Enfiy Code"
5. Use the credentials in environment variables above
#### HuggingFace OAuth
```bash
# Set custom HuggingFace OAuth client ID (optional)
export HF_CLIENT_ID="your-huggingface-app-id"
```
> **Note**: By default, Enfiy Code uses temporary OAuth clients for compatibility. Custom OAuth setup ensures proper branding in consent screens.
## Command Line Options
Enfiy Code supports various command-line options to customize your experience:
### Basic Options
- `-m, --model <model>` - Specify AI model to use
- `-p, --prompt <text>` - Start with an initial prompt
### Workflow Options
- `-y, --auto` - Automatically approve all AI actions
- `-a, --all-files` - Include all project files in context
- `-c, --checkpointing` - Enable file edit checkpointing
### Development Options
- `-d, --debug` - Enable debug mode with verbose logging
- `--show-memory-usage` - Display memory usage in status bar
### Sandbox Options
- `-s, --sandbox` - Run in isolated sandbox environment
- `--sandbox-image <image>` - Use custom sandbox container image
### Examples
```bash
# Start interactive mode
enfiy
# Use specific model
enfiy -m "gpt-4"
# Start with a prompt
enfiy -p "Review my code for security issues"
# Auto-approve all actions
enfiy --auto
# Enable debug mode
enfiy --debug
```
## Interactive Commands
Once Enfiy Code is running, use these commands to interact with the AI:
- `/provider` - Select AI provider and model
- `/mcp` - Connect to MCP servers for enhanced capabilities
- `/tool` - Access specialized tools and integrations
- `/help` - Show available commands and usage information
- `/bug` - Report bugs or issues to the development team
- Code with confidence, create without limits, command with ease
## Usage Examples
### Basic Usage
```bash
# Start Enfiy Code
enfiy
# Ask questions about your code
> What does this function do?
> How can I optimize this database query?
# Request code changes
> Add error handling to the user authentication
> Refactor this component to use React hooks
```
### Project Development
```bash
# Start a new project
cd my-project/
enfiy
> Create a React app with TypeScript and authentication
> Add a responsive navigation component
> Set up Jest testing framework
```
### Code Analysis
```bash
# Analyze existing codebase
enfiy
> Review this codebase for security vulnerabilities
> Identify performance bottlenecks
> Suggest architectural improvements
```
### Automation Tasks
```bash
# Automate development workflows
enfiy
> Write comprehensive tests for the API endpoints
> Generate documentation for these functions
> Create deployment scripts for production
```
## Documentation
### Getting Started
- **[Quick Start Guide](./docs/getting-started/README.md)** – Get up and running in minutes
- **[Installation](./docs/getting-started/installation.md)** – Detailed installation instructions
- **[First Steps](./docs/getting-started/first-steps.md)** – Essential commands and workflows
- **[API Configuration](./docs/getting-started/api-configuration.md)** – Set up AI provider authentication
### User Guides
- **[All Guides](./docs/guides/README.md)** – Complete guide collection
- **[MCP Integration](./docs/guides/mcp-integration.md)** – Connect external tools and services
- **[Checkpointing](./docs/guides/checkpointing.md)** – Save and restore conversation sessions
### API Reference
- **[API Documentation](./docs/api/README.md)** – Technical reference
- **[CLI Commands](./docs/api/cli/commands.md)** – Complete command reference
- **[Tools Reference](./docs/api/tools/README.md)** – Built-in tools and capabilities
### Development
- **[Development Guide](./docs/development/README.md)** – Contributing and development setup
- **[Architecture](./docs/development/architecture.md)** – System design and components
- **[Extensions](./docs/development/extension.md)** – Creating custom extensions
### Security
- **[Security Overview](./docs/security/README.md)** – Security policies and best practices
- **[Privacy Policy](./docs/security/privacy-policy.md)** – Data handling and privacy rights
- **[Telemetry](./docs/security/telemetry.md)** – Data collection and opt-out options
## Project Structure
```
enfiy-code/
├── packages/ # Monorepo packages
│ ├── cli/ # CLI application
│ └── core/ # Core library
├── docs/ # Documentation
├── scripts/ # Build and development scripts
├── integration-tests/ # End-to-end tests
├── bundle/ # Built CLI bundle
├── build-artifacts/ # Build analysis files
└── tools/ # Development utilities
```
## Contributing
We welcome contributions to Enfiy Code! Please see our [contributing guidelines](./CONTRIBUTING.md) for more information on how to get started.
## License
Enfiy Code is licensed under the [Apache 2.0 License](./LICENSE).
---
<div align="center">
<br>
<p style="color: #fb923c; font-size: 1.1em; font-weight: 600;">
Thank you for using Enfiy Code! 🧡
</p>
<p style="color: #6b7280; font-size: 0.9em;">
Built with care by the Enfiy Community
</p>
<br>
</div>
</div>