> For the complete documentation index, see [llms.txt](https://docs.taptap3d.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.taptap3d.com/get-started/local-quickstart.md).

# Local quickstart

Run a synthetic Taptap3D listing locally and verify loading, JSON reads, revision selection and withdrawal responses.

This is a runnable mock of the proposed connection, not a production integration or hosted sandbox. It shows the expected browser flow and API response shape using synthetic data.

## Prerequisites

Use Node.js 22 or later and a local copy of the documentation repository. The repository is currently private: request access from <enquiry@binox.com.hk> if you do not already have it. No API key or inventory upload is required. The examples need no npm dependencies.

If you already have GitHub access, obtain the source with:

```sh
git clone https://github.com/CrossCraftAI/taptap3d-docs.git
cd taptap3d-docs
```

## Run the example

The documentation repository includes `examples/server.mjs`, `host.html`, `embed.html` and `render-listing.mjs`. With Node.js 22 or later, run from the repository root:

```sh
npm run demo
```

Open `http://127.0.0.1:8787` to exercise the iframe flow. In another terminal:

```sh
curl --fail-with-body 'http://127.0.0.1:8787/v1/publications/pub_demo_vessel'
curl --fail-with-body 'http://127.0.0.1:8787/v1/publications/pub_demo_vessel?revision=rev_demo_001'
curl -i 'http://127.0.0.1:8787/v1/publications/pub_demo_withdrawn?revision=rev_demo_001'
```

The last request must return `410`. Use `pub_demo_missing` for `404` and `locale=invalid` for `400`. The fixture has English only, so `locale=zh-Hant` returns English with `language: en`.

The mock binds only to loopback, uses synthetic data and accepts no credentials. Its canonical page reuses the demo renderer; it is not a search-ready publication service. It does not implement tenancy, approval, persistent revisions, production CORS, quotas or CDN/image withdrawal. Repository access is currently private; request access or copy the samples above while planning an integration.

## Expected browser result

The host page displays Ceramic vessel and its approved summary. The frame displays the same content, clears the loading message and requests a height of 240 pixels for the short fixture. The Open the listing link opens the mock canonical page. There are no checkout controls.

The host and frame share a loopback origin in this mock. This confirms the lifecycle code path; it does not validate a live cross-origin framing/CORS policy.

## Check and stop

```sh
npm run check
npm run test:examples
```

The checks cover documentation links, example consistency, response/error cases, withdrawal and escaped rendering. Stop the server with Ctrl+C when finished.

## Next step

Choose [Embed a listing](/integration-guides/iframe-guide.md) for hosted presentation or [Render listing data](/integration-guides/data-guide.md) for a custom storefront layout. Use [Troubleshooting](/testing-and-support/troubleshooting.md) if the local connection fails.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.taptap3d.com/get-started/local-quickstart.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
