Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/fmoraga01/SpinAI/llms.txt

Use this file to discover all available pages before exploring further.

SpinAI is an open internal tool and contributions are welcome. Whether you are fixing a bug, improving the UI, adding a feature, or updating documentation, the process is the same: fork, branch, change, verify, and open a pull request. Following the conventions below keeps the codebase consistent and makes reviews faster for everyone.

Before you start

  • Browse the open issues to see what is already being worked on and avoid duplicating effort.
  • If you are planning a large feature or a significant refactor, open an issue first to discuss the approach before writing code. This saves time if the direction needs adjustment.
  • Familiarise yourself with the code style guidelines described below — they are enforced during review.

Contribution workflow

1

Fork the repo and clone your fork

Fork the repository on GitHub, then clone your fork locally and move into the project directory:
git clone https://github.com/YOUR_USERNAME/SpinAI.git && cd SpinAI
2

Install dependencies

Install all required packages with npm:
npm install
3

Create a branch

Create a branch from main using one of the following naming conventions:
  • feature/short-description — new functionality
  • fix/bug-description — bug fixes
  • docs/improvement — documentation changes
git checkout -b feature/short-description
4

Make changes and test locally

Edit the files you need to change, then run the development server to verify your changes in the browser:
npm run dev
Open http://localhost:3000 to see the app. Test the relevant flows manually before moving on.
5

Verify the build and lint pass

Run a production build to catch TypeScript errors, then run the linter to check code style — both must pass before opening a PR:
npm run build
npm run lint
Fix any errors reported before continuing.
6

Commit your changes

Stage and commit your changes with a clear, descriptive message. Keep commits atomic — one logical change per commit makes the history easier to follow and simplifies reverting if needed:
git commit -m "brief description of the change"
7

Push and open a Pull Request

Push your branch to your fork and open a Pull Request against the upstream main branch:
git push origin feature/short-description
Your PR should include:
  • A descriptive title that summarises the change
  • A clear explanation of what changed and why
  • A link to the related issue if one exists (use Closes #123 to auto-close it on merge)

Code style guidelines

SpinAI is written in TypeScript with React and Tailwind CSS. All contributions are expected to follow these conventions:
  • TypeScript with explicit types — declare types for all function parameters, return values, and non-trivial variables. Do not use any.
  • Functional React components with hooks — no class components. Use descriptive names that reflect what the component renders.
  • Tailwind classes over inline styles — use Tailwind utility classes for styling wherever possible. Avoid style={{}} props unless there is no Tailwind equivalent.
  • Single-responsibility functions — each function should do one thing well. Aim to keep functions under 20–30 lines; if a function is growing beyond that, look for a natural split.
  • Comments only when the “why” is not obvious — code should be readable on its own. Add a comment when the reasoning behind a decision is not clear from the code itself, not to describe what the code does.
Run npm run build and npm run lint before pushing your branch. The build step runs the TypeScript compiler across the entire project and will surface type errors that the dev server may have silently ignored. The lint step catches style violations. Catching both locally saves a round-trip in review.
The repository contains AGENTS.md and CLAUDE.md files at the root. These files contain instructions and context for AI coding assistants (such as GitHub Copilot Workspace or Claude) that work inside this repository. If you are using an AI assistant to help with your contribution, these files will be picked up automatically to guide its output to match the project’s conventions.

Build docs developers (and LLMs) love