Skip to content

Developer Guide

Yiğit ERDOĞAN edited this page Jan 11, 2026 · 1 revision

👨‍💻 Developer Guide

Thank you for your interest in contributing to CodeScope! This guide will help you set up your development environment and understand our workflow.

Development Environment Setup

1. Prerequisites

Follow the Installation Guide to install Python, Node.js, and Ollama.

2. Fork and Clone

Fork the repository on GitHub and clone your fork:

git clone https://github.com/YOUR_USERNAME/CodeScope.git
cd CodeScope

3. Pre-commit Hooks

We use pre-commit to ensure code quality.

pip install pre-commit
pre-commit install

Backend Development

The backend is built with FastAPI.

  1. Environment: Create a virtual environment as described in the Getting Started guide.
  2. Coding Standards: Follow PEP 8 for Python code.
  3. Adding Endpoints: Endpoints should be defined in backend/main.py (or split into routers for larger features).
  4. Testing: (Coming soon) We use pytest for backend testing.

Frontend Development

The frontend is built with Next.js 14.

  1. Environment: Run npm install in the frontend/ directory.
  2. Components: We use Tailwind CSS and Radix UI (via Shadcn/UI).
  3. State Management: We use React's built-in state and context for simplicity.

Contribution Workflow

  1. Issue: Find an issue to work on or open a new one to discuss your idea.
  2. Branch: Create a feature branch (feat/your-feature or fix/your-fix).
  3. Commit: Write descriptive commit messages following Conventional Commits (e.g., feat: add support for Rust files).
  4. Push: Push your branch to your fork.
  5. PR: Open a Pull Request against the main branch of the official repository.

Project Structure

CodeScope/
├── backend/            # FastAPI source code
│   ├── chroma_db/      # Vector database storage (git-ignored)
│   └── main.py         # Main entry point
├── frontend/           # Next.js source code
│   ├── app/            # App Router pages
│   └── components/     # React components
└── README.md

Next Steps

Clone this wiki locally