This project uses (but does not require) Claude Code for help with development, testing, and maintenance. The CLAUDE.md file provides project context for Claude Code sessions.
If you haven't used Claude Code yet, these resources are super helpful:
- https://code.claude.com/docs
- https://www.anthropic.com/engineering/claude-code-best-practices
- https://www.siddharthbharath.com/claude-code-the-complete-guide/
Trino uses only major version numbers for its releases, and breaking changes can be introduced with any new version. To support this, viewzoo uses a separate branch for each Trino version:
- Each version branch is compatible with that one specific Trino version
- New version branches are created from the previous version branch
- Changes to version branches are not merged back to main
- The main branch is not actively used; version branches are primary
This workflow allows you to easily create your own copy of viewzoo, try out some changes, and then share your changes back to be merged, with feedback from other contributors.
- Create a fork of robfromboulder/viewzoo
- Create a feature branch from the latest version branch
- Build and test your local changes
- Add or update integration tests
- Commit changes to your feature branch
- Open a pull request targeting the latest version branch
- Participate in code review
- Celebrate your accomplishment
Our code style is whatever IntelliJ IDEA does by default, with the exception of allowing lines up to 130 characters. If you don't use IDEA, that's ok, but your code may get reformatted later.
All source files should use this copyright statement:
© 2024-2026 Rob Dickinson (robfromboulder)
Scan for newer library versions:
mvn versions:display-dependency-updatesScan for known vulnerabilities:
trivy filesystem .These tests start Postgresql and Trino in local containers, exercise views using both filesystem and JDBC storage, and then shut down all containers (removing all volumes created during the test).
Important
Integration tests require docker-compose and network access to download Postgresql and Trino containers.
Important
Integration tests should exercise all features related to views, and there should be no differences in functional behavior between filesystem and JDBC configurations.
Tip
Integration tests use port 7721 (for Trino) to avoid conflict with local services.
Run integration test profile:
mvn test -Pintegration