# From Project Files to One Link — A Code-First Publishing Recipe

## Document Directory

This paste contains 3 documents:

- [README.md](https://marke.st/p/01M33SNH9F60JZEMD2XJ24NF8H/README.md) ← (current)
- [build_paste.py](https://marke.st/p/01M33SNH9F60JZEMD2XJ24NF8H/build_paste.py) (code)
- [example-tool-input.json](https://marke.st/p/01M33SNH9F60JZEMD2XJ24NF8H/example-tool-input.json) (code)

---

## README.md

# Keep the files. Lose the copy-and-paste ritual.

**MARKE.ST WORKFLOW / MULTI-DOCUMENT PUBLISHING / PYTHON + JSON**

A README explains the outcome. A quick-start chapter teaches the first task. An example payload makes the contract concrete. Publish those as one document set, with their paths intact.

```text
approved-project/
  README.md
  docs/quickstart.md
  examples/request.json
             ↓
       one Marke.st paste
             ↓
       one link to share
```

## Ask your coding assistant

```text
Read only README.md, docs/quickstart.md, and examples/request.json from
the project I explicitly provided. Do not scan my home directory,
credentials, environment files, customer data, or unrelated repositories.

Prepare a new Marke.st documentation paste with exactly those paths.
Review for secrets and private identifiers before saving. Set it private
and enable version history. Preserve relative links. Return the real URL
and the document list. Do not publish publicly or send it to anyone.
```

Once the content is reviewed, choose its audience explicitly. The folder on your Marke.st account is organization, not an independent permission boundary.

## A local helper, not a hidden upload

`build_paste.py` reads an explicit allowlist of three UTF-8 files under a supplied directory and prints arguments for the connector's **`markest_create_paste`** tool. It does not use the network, authenticate, call an API, or publish anything.

```bash
python3 build_paste.py ./approved-project > paste-arguments.json
```

Inspect the output before handing it to a connected assistant or your own integration. The generated JSON contains the documents' full contents; handle it with the same care as those source files. The helper is not a secret scanner.

## MCP tool inputs are not a REST contract

The JSON in this collection is the input shape for the current Marke.st MCP tool. Do **not** assume that the REST API uses the same envelope, authentication method, or endpoint. For direct API automation, obtain the API documentation and credentials from Marke.st, keep credentials in your own secret store, and verify responses before claiming success.

## What the collection demonstrates

| Capability | Where it appears |
|---|---|
| Multiple documents | Three file paths in one create request |
| Nested folders | `docs/` and `examples/` inside the paste |
| Code display | Python helper and JSON tool input |
| Explicit visibility | Private is set instead of relying on an account default |
| History from the first save | `track_versions: true` |
| Stable links for later edits | Update the existing paste ID rather than creating a new copy |

**Verification boundary:** the code is an original local helper; this tutorial does not claim a REST integration, CLI execution, or production deployment was tested.

---
[Connect your assistant](https://marke.st/p/01M33S86SF35M481JPJ78QCY24) · [Browse examples](https://marke.st/p/01M33R91CGF13BZC4KDXT2M418)
