Skip to content

Contributing ​

Contributions are welcome and will be fully credited.

We accept contributions via Pull Requests on Github.

Pull Requests ​

  • PSR-2 Coding Standard - The easiest way to apply the conventions is to install PHP Code Sniffer.

  • Add tests! - Your patch won't be accepted if it doesn't have tests.

  • Document any change in behaviour - Make sure the README.md and any other relevant documentation are kept up-to-date.

  • Consider our release cycle - We try to follow SemVer v2.0.0. Randomly breaking public APIs is not an option.

  • Create feature branches - Don't ask us to pull from your master branch.

  • One pull request per feature - If you want to do more than one thing, send multiple pull requests.

  • Send coherent history - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting.

Running Tests ​

bash
$ composer test

Coverage reports (build/logs/clover.xml, build/coverage/) are opt-in and need Xdebug:

bash
$ composer coverage

Happy coding!

This documentation ​

The site is in docs/, built with VitePress, Node 22:

bash
cd docs
npm ci
npm run docs:dev      # http://localhost:5173/nette-api/
npm run docs:build
npm run docs:links    # check links in the built site
  • Code on the example pages comes from the projects in examples/ through <<< @/../examples/...; change the project, not the page. Each project has an e2e.sh that CI runs.
  • Every English page has a Slovak twin under docs/sk/; npm run check fails when one is missing.
  • Diagrams are Excalidraw files in docs/diagrams/, rendered to light and dark SVG with npm run diagrams.
  • Every pull request gets a preview at https://tomaj.github.io/nette-api/pr-preview/pr-<number>/.

FAQ ​

How do I run the tests? ​

composer test runs PHPUnit. composer coverage also writes coverage reports to build/ (needs Xdebug). Each example project also has an e2e.sh, see Examples.

Do I have to update the documentation with my change? ​

Yes, a change in behaviour needs the docs updated, in English and Slovak.

How do I see my documentation change before it is merged? ​

Run npm run docs:dev in docs/, or open the preview that every pull request gets.

Released under the MIT License.