Skip to content

Contributing

Contributions to this project are welcome! To start off, clone it from GitHub and run:

npm install

To watch changes during development:

npm run watch

To run unit/functional tests:

npm run test # unit 
npm run e2e-test # functional

To develop documentation:

npm run install-docs-deps # install the dependencies (Python packages)
npm run dev:docs # serve the docs locally and watch for changes

There are also a number of environment variables that can be used when running the tests locally. These include:

  • REAL_DEVICE - set to anything truthy, makes the tests use real device capabilities
  • _FORCE_LOGS - set to 1 to get the log output, not just spec
  • PLATFORM_VERSION - change the version to run the tests against (defaults to 11.3)
  • XCCONFIG_FILE - specify where the Xcode config file is for a real device run (if blank, and running a real device test, it will search for the first file in the root directory of the repo with the extension .xcconfig)
  • UICATALOG_REAL_DEVICE - path to the real device build of UICatalog, in case the npm installed one is not built for a real device

Optional: CodeGraph for local code navigation

If you want a local semantic index for this repository, you can install CodeGraph locally and initialize it in the repo:

curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/v1.5.0/install.sh | sh
cd "<project folder>"
codegraph install
codegraph init

CodeGraph builds a local knowledge graph of symbols and call paths so AI coding agents, like Cursor or Claude, can answer questions and navigate the codebase faster with fewer file reads and reduced token consumption.