Release 3X-UI for Docker / build (push) Canceled after 0s
Release 3X-UI / build (386) (push) Canceled after 0s
Release 3X-UI / build (amd64) (push) Canceled after 0s
Release 3X-UI / build (arm64) (push) Canceled after 0s
Release 3X-UI / build (armv5) (push) Canceled after 0s
Release 3X-UI / build (armv6) (push) Canceled after 0s
Release 3X-UI / build (armv7) (push) Canceled after 0s
Release 3X-UI / build (s390x) (push) Canceled after 0s
Release 3X-UI / Build for Windows (amd64) (push) Canceled after 0s
Release 3X-UI / Publish rolling dev release (push) Canceled after 0s
35 lines
1.4 KiB
Markdown
35 lines
1.4 KiB
Markdown
# Contributing to 3x-ui-docs
|
|
|
|
Thanks for helping improve the 3x-ui documentation and product site!
|
|
|
|
## Prerequisites
|
|
|
|
This project uses **[pnpm](https://pnpm.io)** (not npm — `package-lock.json` is
|
|
gitignored). Install dependencies and start the dev server:
|
|
|
|
```bash
|
|
pnpm install
|
|
pnpm dev # http://localhost:3000
|
|
```
|
|
|
|
## Scripts
|
|
|
|
| Script | Description |
|
|
| ---------------- | ----------------------------------------------------- |
|
|
| `pnpm dev` | Start the dev server |
|
|
| `pnpm build` | Production build |
|
|
| `pnpm start` | Serve the production build |
|
|
| `pnpm typecheck` | Generate MDX/route types and run `tsc --noEmit` |
|
|
| `pnpm lint` | oxlint (`.oxlintrc.json`) |
|
|
| `pnpm format` | Format with oxfmt (`.oxfmtrc.json`) |
|
|
| `pnpm test` | Run unit tests (Vitest) for `lib/xray/*` pure logic |
|
|
| `pnpm gen:api` | Generate the API reference from `public/openapi.json` |
|
|
|
|
Before opening a pull request, please run `pnpm typecheck`, `pnpm lint`, `pnpm format:check`, and
|
|
`pnpm test` — these are the same checks that CI runs on every PR.
|
|
|
|
## License
|
|
|
|
By contributing, you agree that your contributions will be licensed under the
|
|
project's [GPL-3.0](./LICENSE) license.
|