Harper Best Practices
Guidelines for building scalable, secure, and performant applications on Harper. These practices cover everything from initial schema design to advanced deployment strategies.
When to Use
Reference these guidelines when:
- Defining or modifying database schemas
- Implementing or extending REST/WebSocket APIs
- Handling authentication and session management
- Working with custom resources and extensions
- Optimizing data storage and retrieval (Blobs, Vector Indexing)
- Deploying applications to Harper Fabric
Steps
- Review the requirements for the task (schema design, API needs, or infrastructure setup).
- Consult the relevant category under "Rule Categories by Priority" to understand the impact of your decisions.
- Apply specific rules from the "Quick Reference" section below by reading their detailed rule files.
- If you're building a new table, prioritize the
schema-rules. - If you're extending functionality, consult the
logic-andapi-rules. - Validate your implementation against the
ops-rules before deployment.
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Schema & Data Design | HIGH | schema- |
| 2 | API & Communication | HIGH | api- |
| 3 | Logic & Extension | MEDIUM | logic- |
| 4 | Infrastructure & Ops | MEDIUM | ops- |
Quick Reference
1. Schema & Data Design (HIGH)
adding-tables-with-schemas- Define tables using GraphQL schemas and directivesdefining-relationships- Link tables using the@relationshipdirectivevector-indexing- Efficient similarity search with vector indexesusing-blob-datatype- Store and retrieve large data (Blobs)handling-binary-data- Manage binary data like images or MP3s
2. API & Communication (HIGH)
automatic-apis- Leverage automatically generated CRUD endpointsquerying-rest-apis- Filters, sorting, and pagination in REST requestsreal-time-apps- WebSockets and Pub/Sub for live data updateschecking-authentication- Secure apps with session-based identity verification
3. Logic & Extension (MEDIUM)
custom-resources- Define custom REST endpoints using JS/TSextending-tables- Add custom logic to generated table resourcesprogrammatic-table-requests- Advanced filtering and sorting in codetypescript-type-stripping- Use TypeScript without build toolscaching- Implement and define caching for performance
4. Infrastructure & Ops (MEDIUM)
deploying-to-harper-fabric- Scale globally with Harper Fabriccreating-a-fabric-account-and-cluster- Setting up your Harper Fabric cloud infrastructurecreating-harper-apps- Quickstart withnpm create harper@latestserving-web-content- Ways to serve web content from Harper
How to Use
Read individual rule files for detailed explanations and code examples:
rules/adding-tables-with-schemas.md
rules/automatic-apis.md
rules/creating-harper-apps.md
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md