feat: add hackathon quickstart example - #8
Merged
Conversation
jonathanprozzi
force-pushed
the
feat/hackathon-quickstart-example
branch
2 times, most recently
from
June 9, 2026 15:39
ce8c863 to
897c0f8
Compare
jonathanprozzi
force-pushed
the
feat/classification-metadata-predicate-matrix
branch
2 times, most recently
from
June 9, 2026 18:35
b0ab3b1 to
ded03c7
Compare
jonathanprozzi
force-pushed
the
feat/hackathon-quickstart-example
branch
4 times, most recently
from
June 10, 2026 14:38
d612de0 to
d44b6d4
Compare
jonathanprozzi
force-pushed
the
feat/classification-metadata-predicate-matrix
branch
2 times, most recently
from
June 11, 2026 14:16
488f81f to
69e7b6e
Compare
jonathanprozzi
force-pushed
the
feat/hackathon-quickstart-example
branch
from
June 11, 2026 14:16
d44b6d4 to
1f2115f
Compare
jonathanprozzi
force-pushed
the
feat/hackathon-quickstart-example
branch
from
June 12, 2026 17:13
1f2115f to
75bde5a
Compare
jonathanprozzi
marked this pull request as ready for review
June 12, 2026 19:17
jonathanprozzi
force-pushed
the
feat/classification-metadata-predicate-matrix
branch
from
June 12, 2026 19:45
f56b963 to
84f6c2e
Compare
jonathanprozzi
force-pushed
the
feat/hackathon-quickstart-example
branch
from
June 12, 2026 19:49
75bde5a to
05c85ca
Compare
jonathanprozzi
changed the base branch from
feat/classification-metadata-predicate-matrix
to
main
June 12, 2026 19:49
jonathanprozzi
marked this pull request as draft
June 12, 2026 19:49
jonathanprozzi
marked this pull request as ready for review
June 15, 2026 19:40
jonathanprozzi
force-pushed
the
feat/hackathon-quickstart-example
branch
from
June 15, 2026 19:57
05c85ca to
2e00867
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a small Vite/React quickstart example under
examples/hackathon-quickstartthat dogfoods the package APIs together through one concrete lifecycle: creating a Spotify song atom as amusic-recordingclassification.The example includes five surfaces:
sameAs, and post-activationsameAstriplesThe example shows:
buildAtomDataObjectvalidateClassificationValuessameAshandling for identity links such as Spotify song atom -> Apple Music song atomsameAsand graph-levelsameAsare different lifecycle choicesCreation Profile DX
This PR was updated after Creation Profiles landed in
@0xintuition/classifications. The template now imports a direct profile subpath for the primary create flow:That is the intended frontend pattern for known creation flows: one narrow import gives builders the recommended atom fields, schema provenance, predicate IDs, and expected relationship targets for the selected classification. Root helpers such as
getPropertiesFor(...)remain useful for open-ended schema exploration, admin tooling, and server-side composition, but the community template no longer teaches consumers to pull the full schema.org registry into the browser just to render a known form.sameAs Decision
The quickstart treats
sameAsas strict identity, not generic related content. High-confidence identity matches can become metadata triples; lower-confidence candidates and adjacent content stay held back for review or future non-identity predicates.The identity-linking page makes the lifecycle boundary explicit:
This mirrors the package decision in the lower stack:
sameAsis useful both as optional atom data and as a promoted metadata predicate, but it should be applied conservatively. The current examples use a threshold-style review flow as a local teaching surface, and we can revisit broader entity-specific rules as more product examples sharpen.Notes
This intentionally does not write to Intuition. It is a local package/API playground: no API key, wallet, RPC, or transaction submission is required. The goal is to validate how builders classify an object, separate atom fields from metadata predicates, review identity candidates, and derive a triple plan before any app-specific submit layer exists.
Because this example currently lives inside the monorepo stack, its package dependencies use
workspace:*. Once the packages are published and this becomes a standalone community template, those should switch to published npm package versions.Verification
bun --filter @0xintuition/hackathon-quickstart-example typecheckbun --filter @0xintuition/hackathon-quickstart-example checkbun --filter @0xintuition/hackathon-quickstart-example buildbun run buildbun run typecheckbun run checkbun run testbun run pack:dry-runbun run smoke:tarballsbun --filter @0xintuition/hackathon-quickstart-example dev --host 127.0.0.1,curl -sI http://127.0.0.1:5173/returned200 OKNote: the generated-data checks should be run sequentially in local publish prep. Running schema generation checks in parallel with classification profile checks can race on generated output directories, while the sequential checks are green.