Skip to content

Conversation

@Ethan-Arrowood
Copy link
Member

@Ethan-Arrowood Ethan-Arrowood commented Jan 16, 2026

This PR adds a new Learn guide titled "Harper Applications in Depth". Its meant to come after the getting started guide as it builds directly off of the application created in those. This guide covers Harper in more depth, explains and demonstrates the Operations API and CLI, introduces Resource API, demonstrates how to enable the debugger. and introduces our logger api.

All in all, this post is like a more-advanced crash course into Harper applications than the applications. The goal here is that devs should feel more confident building harper apps on their own and they have the tools to start experimenting and being creative. More technical info to come in later guides!

@github-actions github-actions bot temporarily deployed to pr-426 January 30, 2026 23:47 Inactive
@github-actions
Copy link

🚀 Preview Deployment

Your preview deployment is ready!

🔗 Preview URL: https://preview.harper-docs.stage.harperfabric.com/pr-426

This preview will update automatically when you push new commits.

@github-actions github-actions bot temporarily deployed to pr-426 February 2, 2026 18:53 Inactive
@github-actions
Copy link

github-actions bot commented Feb 2, 2026

🚀 Preview Deployment

Your preview deployment is ready!

🔗 Preview URL: https://preview.harper-docs.stage.harperfabric.com/pr-426

This preview will update automatically when you push new commits.

@Ethan-Arrowood Ethan-Arrowood changed the title Create "Harper Application and Plugin Development" Learn Guide Create "Harper Applications in Depth" Learn Guide Feb 3, 2026
@Ethan-Arrowood Ethan-Arrowood marked this pull request as ready for review February 3, 2026 15:31
@Ethan-Arrowood Ethan-Arrowood requested a review from a team as a code owner February 3, 2026 15:31
@github-actions github-actions bot temporarily deployed to pr-426 February 3, 2026 15:33 Inactive
@github-actions
Copy link

github-actions bot commented Feb 3, 2026

🚀 Preview Deployment

Your preview deployment is ready!

🔗 Preview URL: https://preview.harper-docs.stage.harperfabric.com/pr-426

This preview will update automatically when you push new commits.

@github-actions github-actions bot temporarily deployed to pr-426 February 3, 2026 15:48 Inactive
@github-actions
Copy link

github-actions bot commented Feb 3, 2026

🚀 Preview Deployment

Your preview deployment is ready!

🔗 Preview URL: https://preview.harper-docs.stage.harperfabric.com/pr-426

This preview will update automatically when you push new commits.

}
```

The `DogWithHumanAge` class extends from `tables.Dog`. The `tables` reference is a global added by Harper that is a map of all tables, such as the ones defined by `graphqlSchema`. A table class represents the collection of all the records in the table. Its an interface for querying and accessing records from the table and even creating/updating records too. The purpose of the `static loadAsInstance = false;` line is to ensure that this resource does not load as a singular record instance. This enables `DogWithHumanAge` to extend the functionality of `tables.Dog`. The `export` keyword instructs Harper to automatically generate a REST API endpoint for the custom resource using the same name (`DogWithHumanAge/`).
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kriszyp is this description okay for explaining the concepts of table classes, resources, static, instances, etc. ?

I tried to blend a bit of your latest info from Slack and the existing docs page on Resources.


### Component Classification: Built-in vs Custom

Harper further classifies components (plugins and applications) as either built-in or custom. **Built-in** components are internal to Harper, require no additional installation steps, and are immediately accessible for use. The `graphqlSchema` and `rest` plugins are great examples of built-in plugins. **Custom** components are external to Harper, generally available as an npm package or git repository, and do require additional installation steps in order to be used. Custom components can be authored by anyone, including Harper. Any of Harper's official custom components are published using the `@harperdb` and `@harper` package scopes, such as the [`@harperdb/nextjs`](https://github.com/HarperDB/nextjs) plugin for developing Next.js applications or the [`@harperdb/status-check`](https://github.com/HarperDB/status-check) application.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it @harper or @harperfast?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we cross-publishing yet?

@github-actions github-actions bot temporarily deployed to pr-426 February 3, 2026 18:06 Inactive
@github-actions
Copy link

github-actions bot commented Feb 3, 2026

🚀 Preview Deployment

Your preview deployment is ready!

🔗 Preview URL: https://preview.harper-docs.stage.harperfabric.com/pr-426

This preview will update automatically when you push new commits.

Co-authored-by: Chris Barber <chris@harperdb.io>
@github-actions
Copy link

github-actions bot commented Feb 3, 2026

🚀 Preview Deployment

Your preview deployment is ready!

🔗 Preview URL: https://preview.harper-docs.stage.harperfabric.com/pr-426

This preview will update automatically when you push new commits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants