Providing a simplistic JDBC driver would allow Java applications to use JDBC to query repository content with JCR-SQL2 queries. Because the exposed schema is a function of the registered node types, the driver should support JDBC metadata so applications (including reverse-engineering tools) can discover the schema structure.
The implementation does not need to be a fully-compliant driver. In fact, it probably only needs very limited functionality.
If feasible, the JDBC driver should be written to use the JCR API, and only use ModeShape-specific interfaces if absolutely required and in such cases use an appropriate abstraction to isolate the ModeShape-specific code. However, it may be significantly easier (and more performant) to use the graph API, so this will have to be considered.