UNPKG

@enfiy/enfiy-code

Version:

Universal AI Code Assistant (Enfiy Code)

323 lines (222 loc) 10.1 kB
<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 ![Enfiy Code Screenshot](./docs/assets/enfiy-cli-screenshot.png) ## 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>