forgecode / .github /contribution.md
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
1244914 verified
|
Raw
History Blame Contribute Delete
2.25 kB
# Code-Forge πŸ› οΈ
A sophisticated AI-powered coding assistant platform built in Rust, designed to provide intelligent code generation, manipulation, and analysis capabilities through a modular and extensible architecture.
## ✨ Features
- πŸ€– **AI-Powered Code Generation** - Advanced code generation and manipulation using modern AI models
- πŸ” **Smart Code Analysis** - Language-aware parsing and analysis for multiple programming languages
- πŸ› οΈ **Extensive Tool System** - Rich set of development tools including file operations, shell commands, and code outline generation
- πŸ’Ύ **Persistent Conversations** - Maintain context and history across coding sessions
- πŸ”’ **Secure Operations** - Built-in security measures for file system and shell operations
- πŸ”Œ **Extensible Architecture** - Modular design supporting easy addition of new features and languages
## πŸš€ Setup
### Prerequisites
- Rust toolchain (1.75+)
- SQLite
- Tree-sitter (for code analysis)
### Installation
```bash
# Build the project
cargo build --release
# Run the server
cargo run --release
```
## πŸ—οΈ Project Structure
```
code-forge/
β”œβ”€β”€ crates/
β”‚ β”œβ”€β”€ forge_main/ # CLI and main application logic
β”‚ β”œβ”€β”€ forge_domain/ # Core domain models and interfaces
β”‚ β”œβ”€β”€ forge_services/ # HTTP API and database management
β”‚ β”œβ”€β”€ forge_tool/ # Tool implementations
β”‚ └── forge_walker/ # File system operations
```
## πŸ› οΈ Core Components
- **Domain Layer** (`forge_domain`) - Core business logic and interfaces
- **Tool Layer** (`forge_tool`) - Development tools implementation
- **Server Layer** (`forge_services`) - API endpoints and persistence
- **Main Application** (`forge_main`) - CLI and application coordination
## πŸ”§ Configuration
The application requires several environment variables for proper operation:
```bash
# Required environment variables
DATABASE_URL="sqlite:path/to/database.db"
OPENROUTER_API_KEY="your-api-key"
```
## πŸ“š Documentation
Internal documentation:
- [Onboarding Guide](docs/onboarding.md)
- [Architecture Overview](docs/architecture.md)
## πŸ”’ Proprietary Software
This is proprietary software. All rights reserved.