Contributing

Contribute

Connectors are the fastest way in. Tests run with the tools already in the repository.

How to contribute

Fork the repository, create a branch, and open a pull request. Keep changes small and describe what they do. Issues are tracked in the public repository at github.com/algolotl/philotas.

Every contribution is signed off under the Developer Certificate of Origin (DCO). Add a Signed-off-by line to your commits with your name and email:

git commit -s -m "Add a connector for a ferry schedule"

Connector authoring

A connector is one file that declares how it pulls, from an API or a lake query, and returns GeoJSON. From there it flows into the cache, the poller, the snapshot store, the layer list, the ontology and the knowledge graph without further wiring.

philotas-mcp can scaffold and validate a connector. Start it with npx -y @philotas/mcp, then use the scaffold_connector tool, which takes a name, a kind (api or datalake) and an endpoint, to write a template into your working directory. Use validate_connector with a path to run the connector's pull against its own schema.

Tests

npm test                 # root, Node test runner
cd ingest && npm test    # ingest suite
node --test test/        # a single directory
python -m pytest detect/test

Run the tests before you open a pull request.