Contribute to SkillFlaw
SkillFlaw welcomes contributions across code, documentation, tests, templates, and developer tooling.
For day-to-day repository commands, see Local development deployment and Makefile command reference.
Repository overview
SkillFlaw has two main application services:
- Frontend: a React/TypeScript application
- Backend: a Python/FastAPI service
During local development, the frontend and backend usually run separately:
- frontend dev server:
http://localhost:3000 - backend API server:
http://localhost:7860
When you run the built application through the backend, the frontend is served by the backend on port 7860 by default.
Clone your fork
- Fork the SkillFlaw GitHub repository.
- Add your fork as a remote:
_10git remote add FORK_NAME https://github.com/GIT_USERNAME/skillflaw.git
Replace:
FORK_NAME: a name for your fork remoteGIT_USERNAME: your GitHub username
Run SkillFlaw from source
Use this mode if you want to run the built application from the repository without a frontend hot-reload workflow.
macOS / Linux
From the repository root, run:
_10make run_cli
This installs dependencies as needed, builds the frontend, and starts the application.
Windows
You can use the included scripts under scripts/windows/:
build_and_run.batbuild_and_run.ps1
Or run the steps manually:
_10cd src/frontend_10npm install_10npm run build
Then start the backend:
_10uv run skillflaw run
The built application is served at http://localhost:7860.
Set up a development environment
Use this mode when you want hot reload for active development.
macOS / Linux
- Initialize the workspace:
_10make init
- Run backend and frontend in separate terminals:
_10make backend
_10make frontend
- Optional: if you are editing docs too, run the docs site in another terminal:
_10make docs
- Validate your changes before pushing:
_10make lint_10make format_10make unit_tests
If you need the full test suite:
_10make tests
Windows
Since Windows does not include make by default, run the frontend and backend directly:
_10cd src/frontend_10npm install_10npm run start
In another terminal:
_10uv run skillflaw run --backend-only
Troubleshoot frontend build issues
If you encounter stale frontend build artifacts, run:
_10make run_clic
This forces a clean rebuild of the frontend assets before launching the app.
Contribute documentation
The docs site uses Docusaurus.
- Change to the docs workspace:
_10cd docs
- Install docs dependencies and start the local docs site:
_10npm install_10npm run start
- Edit source content in these directories:
docs/docsdocs/i18n/zh-CN/docusaurus-plugin-content-docs/current
- Navigation is defined in:
_10docs/sidebars.js
- Before creating a PR, run a production build to catch broken links and MDX issues:
_10npm run build
Additional contribution guides
Open a pull request
- Open a pull request against
main. - Use a clear, focused title. Conventional prefixes such as
feat:andfix:are recommended. - In the PR description, clearly explain what changed, why it changed, and any migration or testing notes.
- Keep the PR focused on one primary problem when practical.
SkillFlaw maintainers will review your pull request and may request updates before merge.