Refyne analyzes repositories to identify architectural bottlenecks, summarize structural patterns, and produce focused refactor recommendations. It pairs an Express-based analysis backend with a React + Vite front end so teams can explore issues and act on prioritized improvements.
- What it does
- Repository layout
- Technology stack
- Prerequisites
- Local setup & quick start
- Configuration
- Development workflow
- Build & deployment
- Contributing
- License
Refyne provides:
- Structural analysis of codebases to surface architectural hotspots.
- High-level summaries of module and dependency structure.
- Actionable suggestions for refactoring and improving maintainability.
- A UI for exploring historical analyses and recommendations.
Refyne/
├── server/ # Express backend, analysis pipeline, API endpoints
├── client/ # React + Vite front end (UI components, styles)
├── data/ # Persistent analysis results (history.json)
├── utils/ # Shared analysis helpers and utilities
├── README.md # This file
└── LICENSE # Project license (MIT)
- Backend: Node.js, Express
- Frontend: React, Vite
- Styling: Tailwind CSS (present in client)
- Data store: JSON files under
data/(simple persistent history)
- Node.js (LTS recommended)
- npm (included with Node.js)
- Install and run the backend:
cd server
npm install
npm run dev- Install and run the frontend:
cd ../client
npm install
npm run devOpen http://localhost:5173 to access the UI. The backend defaults to port 5000 and the client runs on 5173 when using the Vite dev server.
- Copy
server/.env.exampletoserver/.envand provide required values. - Important environment variables:
GEMINI_API_KEY— API key for Gemini (used by AI-powered recommendation features).PORT— backend port (defaults to5000if unset).
If GEMINI_API_KEY is not set, AI integrations will be skipped and the local analysis features remain available.
- Make UI changes in
client/src/components/and styles inclient/src/styles/. - Update analysis code in
server/andutils/. - Analysis results and history are written to
data/history.jsonfor review.
Testing: there is no test suite included by default. Adding unit and integration tests is recommended prior to major changes.
- Build frontend for production:
cd client
npm run build- Serve the build output from a static host or integrate it with the Express backend for a single deployment artifact.
Recommended options:
- Host static files on platforms such as Vercel, Netlify, or an object storage + CDN.
- Or copy
client/distinto the backend's static assets and serve via Express behind a reverse proxy.
Contributions are welcome. Suggested workflow:
- Fork the repository and create a feature branch:
git checkout -b feature/your-feature. - Implement changes and include tests where applicable.
- Open a pull request with a clear description and motivation for the change.
Guidelines:
- Keep pull requests focused and small when possible.
- Update
README.mdand include usage examples for new features.
If you'd like help scoping a contribution, open an issue describing the goal and maintainers can help plan the work.
This repository is licensed under the MIT License — see the LICENSE file for details.
Open an issue for questions, bug reports, or feature requests.