Skip to content

docs: clarify harness integrations - #200

Merged
jgpruitt merged 9 commits into
mainfrom
jgpruitt/harness-integration-docs
Aug 5, 2026
Merged

docs: clarify harness integrations#200
jgpruitt merged 9 commits into
mainfrom
jgpruitt/harness-integration-docs

Conversation

@jgpruitt

@jgpruitt jgpruitt commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add a canonical harness-integration lifecycle and policy guide.
  • Align onboarding, MCP, projects, and command references with quick me init.
  • Clarify local configuration, credential handling, capture destinations, and Codex requirements.

Validation

  • ./bun --filter @memory.build/docs-site build
  • ./bun test packages/cli/docs-cli-links.test.ts packages/cli/mcp/docs-links.test.ts packages/docs-site/lib/nav.test.ts
  • ./bun run check

Copilot AI review requested due to automatic review settings August 5, 2026 20:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the user-facing documentation to present a consistent, “config-first” harness integration lifecycle: install user-global integrations once, then activate/configure behavior per-directory via me init and inspect it via me doctor.

Changes:

  • Adds a new canonical deep-dive doc page: Harness Integrations, and links it from docs-site navigation.
  • Reworks onboarding and MCP docs to center me init as the primary managed setup flow while preserving manual me mcp guidance.
  • Aligns CLI reference pages and related docs (Projects, Access Control, agent imports) with the updated harness/policy/credential model.

Reviewed changes

Copilot reviewed 23 out of 23 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/docs-site/lib/nav.ts Adds “Harness Integrations” to the published docs navigation.
HARNESS_INTEGRATIONS_DOCUMENTATION_PLAN.md Introduces a documentation plan to guide a cohesive harness-integration rewrite.
docs/projects.md Updates project tree guidance and workflows to align with me init and the harness policy model.
docs/mcp/index.md Links MCP tool reference to the managed harness setup deep dive.
docs/mcp/agent-instructions.md Updates setup links and refines an example snippet for current guidance.
docs/mcp-integration.md Reframes MCP integration around managed harness setup (me init) vs manual stdio setup; clarifies auth/space modes and provider notes.
docs/harness-integrations.md New canonical page describing install vs activation, machine-local policy, overrides, and troubleshooting.
docs/getting-started.md Makes me init the recommended AI-tool onboarding path and updates related guidance.
docs/concepts.md Tightens space definition wording for clarity/consistency.
docs/cli/me-uninstall.md Clarifies uninstall ownership semantics and documents --purge.
docs/cli/me-opencode.md Adds link to the Harness Integrations page for shared lifecycle/policy model context.
docs/cli/me-mcp.md Updates server resolution order and links to Harness Integrations for managed setup.
docs/cli/me-login.md Links harness policy behavior to the stored configuration model.
docs/cli/me-install.md Clarifies install vs per-directory init, and links to Harness Integrations.
docs/cli/me-init.md Links to Harness Integrations for lifecycle/storage/policy details.
docs/cli/me-import.md Updates terminology and clarifies default project slug derivation details.
docs/cli/me-doctor.md Links to Harness Integrations for profile resolution/activation context.
docs/cli/me-codex.md Clarifies wording around what uninstall removes and links to shared lifecycle model.
docs/cli/me-claude.md Clarifies managed MCP identification and links to the shared policy model.
docs/cli/me-ci.md Links CI guidance to Projects + Harness Integrations.
docs/cli/me-apikey.md Adds pointer to Harness Integrations for managed harness + local config context.
docs/cli/agent-session-imports.md Refines project slug derivation explanation to prefer git origin name.
docs/access-control.md Updates enforcement explanation wording while keeping user-facing intent.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/getting-started.md Outdated
```

A `--tree` is required. Put memories the rest of your space should see under `share/*`, and personal ones under `~/*` (your private home). The optional `--name` gives the memory a filename-like slug (unique within its tree) so you can later address it by path -- `me get share/notes/postgres/uuidv7`. See [Core Concepts](concepts.md#reserved-roots).
A `--tree` is required. Put memories the rest of your space should see under `/share/*`, and personal ones under `~/*` (your private home). The optional `--name` gives the memory a filename-like slug (unique within its tree) so you can later address it by path -- `me get share/notes/postgres/uuidv7`. See [Core Concepts](concepts.md#reserved-roots).
Copilot AI review requested due to automatic review settings August 5, 2026 20:41

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 23 out of 23 changed files in this pull request and generated no new comments.

Suppressed comments (1)

docs/getting-started.md:52

  • The example path uses share/… without a leading slash while the surrounding text and --tree example use canonical /share/…, which can be confusing. Consider using the canonical leading-slash form consistently in this paragraph.
A `--tree` is required. Put memories the rest of your space should see under `/share/*`, and personal ones under `~/*` (your private home). The optional `--name` gives the memory a filename-like slug (unique within its tree) so you can later address it by path -- `me get share/notes/postgres/uuidv7`. See [Core Concepts](concepts.md#reserved-roots).

Copilot AI review requested due to automatic review settings August 5, 2026 20:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 23 out of 23 changed files in this pull request and generated no new comments.

Suppressed comments (1)

docs/getting-started.md:52

  • The example path in me get is missing the leading /, which is inconsistent with the rest of the docs (and with the --tree /share/... example just above) and may confuse readers about canonical paths.
A `--tree` is required. Put memories the rest of your space should see under `/share/*`, and personal ones under `~/*` (your private home). The optional `--name` gives the memory a filename-like slug (unique within its tree) so you can later address it by path -- `me get share/notes/postgres/uuidv7`. See [Core Concepts](concepts.md#reserved-roots).

Copilot AI review requested due to automatic review settings August 5, 2026 20:49
@jgpruitt jgpruitt self-assigned this Aug 5, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 23 out of 23 changed files in this pull request and generated no new comments.

Suppressed comments (4)

docs/harness-integrations.md:144

  • This example repeats a 13-character space slug ("acme123def456"), which conflicts with the 12-character slug description in the Concepts page. Use a 12-character placeholder consistently.
      server: https://api.memory.build
      space: acme123def456
      tree: /share/projects/acme-api

docs/harness-integrations.md:151

  • This example repeats a 13-character space slug ("acme123def456"). For consistency with the documented 12-character slug format, update it to a 12-character placeholder.
      server: https://api.memory.build
      space: acme123def456
      harnesses:

docs/getting-started.md:52

  • This paragraph tells readers to use /share/* paths, but the example path uses share/... without the leading slash. Since this sentence was updated in the PR, it’s a good place to keep the example consistent with the /share/* convention.
A `--tree` is required. Put memories the rest of your space should see under `/share/*`, and personal ones under `~/*` (your private home). The optional `--name` gives the memory a filename-like slug (unique within its tree) so you can later address it by path -- `me get share/notes/postgres/uuidv7`. See [Core Concepts](concepts.md#reserved-roots).

docs/harness-integrations.md:137

  • The example space slug in this config snippet is 13 characters ("acme123def456"), but elsewhere the docs define space slugs as immutable 12-character identifiers. Using a 12-character example avoids confusion when copying/pasting.

This issue also appears in the following locations of the same file:

  • line 142
  • line 149
      server: https://api.memory.build
      space: acme123def456
      harnesses:

Copilot AI review requested due to automatic review settings August 5, 2026 20:52

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 23 out of 23 changed files in this pull request and generated no new comments.

Suppressed comments (1)

docs/getting-started.md:52

  • The me memory create example uses --tree '~/notes/postgres' (personal home tree), but the retrieval example later in the same sentence uses a /share/... path. This is inconsistent and may confuse readers about where the memory was created; the me get example should use the same tree as the create example (or the create example should be changed back to /share/...).
A `--tree` is required. Put memories the rest of your space should see under `/share/*`, and personal ones under `~/*` (your private home). The optional `--name` gives the memory a filename-like slug (unique within its tree) so you can later address it by path -- `me get share/notes/postgres/uuidv7`. See [Core Concepts](concepts.md#reserved-roots).

Copilot AI review requested due to automatic review settings August 5, 2026 20:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 38 out of 38 changed files in this pull request and generated no new comments.

Suppressed comments (3)

docs/getting-started.md:52

  • The example stores the memory under --tree '~/notes/postgres' (home tree), but the follow-up path example uses share/notes/.... That path would not resolve to the memory just created; it should use the same ~/notes/postgres tree (and be quoted to avoid shell ~ expansion).
A `--tree` is required. Put memories the rest of your space should see under `/share/*`, and personal ones under `~/*` (your private home). The optional `--name` gives the memory a filename-like slug (unique within its tree) so you can later address it by path -- `me get share/notes/postgres/uuidv7`. See [Core Concepts](concepts.md#reserved-roots).

docs/mcp/me_memory_get.md:52

  • The response schema defines createdBy as string | null (it is currently always null server-side, but the wire type still allows a string). Documenting the type as null is inaccurate for API consumers and diverges from @memory.build/protocol's MemoryResponse schema.
    docs/mcp/me_memory_create.md:59
  • The wire response schema defines createdBy as string | null (even though it is currently always null). Listing the type as null makes the tool reference inconsistent with the published protocol schema and can break typed consumers that expect string | null.

Copilot AI review requested due to automatic review settings August 5, 2026 21:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 40 out of 40 changed files in this pull request and generated no new comments.

Suppressed comments (3)

docs/getting-started.md:52

  • The example stores the memory under the home tree (--tree '~/notes/postgres'), but the follow-up path example uses share/..., which would not resolve to the created memory. Align the get-by-path example with the tree used above.
A `--tree` is required. Put memories the rest of your space should see under `/share/*`, and personal ones under `~/*` (your private home). The optional `--name` gives the memory a filename-like slug (unique within its tree) so you can later address it by path -- `me get share/notes/postgres/uuidv7`. See [Core Concepts](concepts.md#reserved-roots).

docs/mcp/me_memory_import.md:16

  • This sentence reads like path and content are mutually exclusive, but the parameter table says path takes precedence when both are provided. Rewording to “at least one” avoids implying exactly-one semantics.
    docs/mcp/me_memory_search.md:73
  • The JSON example has inconsistent indentation for createdBy, which makes the snippet look malformed when copied. Align it with the surrounding fields.

Copilot AI review requested due to automatic review settings August 5, 2026 21:11
@jgpruitt
jgpruitt merged commit ffdb986 into main Aug 5, 2026
7 checks passed
@jgpruitt
jgpruitt deleted the jgpruitt/harness-integration-docs branch August 5, 2026 21:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 40 out of 40 changed files in this pull request and generated no new comments.

Suppressed comments (1)

docs/getting-started.md:118

  • The sentence about headless/unattended usage is a comma splice and splits awkwardly across lines, which makes the guidance harder to read.
`me init` works in headless or unattended environments, use `me login --device` or supply an
API key through `ME_API_KEY`.

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.

2 participants