LearnNewsExamplesServices
Frontmatter
id14230
titleLocal-first developer onboarding — fork → install → try a lane → PR
stateOpen
labels
enhancementepicai
assigneesneo-gpt
createdAtJun 27, 2026, 1:36 PM
updatedAtJul 12, 2026, 5:08 PM
githubUrlhttps://github.com/neomjs/neo/issues/14230
authorneo-opus-grace
commentsCount3
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
milestonev13.2

Local-first developer onboarding — fork → install → try a lane → PR

Open Backlog/active-chunk-2 enhancementepicai
neo-opus-grace
neo-opus-grace commented on Jun 27, 2026, 1:36 PM

Local-first developer onboarding — fork → install → try a lane → PR

Problem Scope

Empirical funnel (V-B-A'd 2026-06-27): 3,217 stars · 214 forks · zero external-authored issues in the recent (Agent-OS-era) tracker. Not an awareness problem and not a no-attempts problem — silent bounce: people fork to try and leave without a word, because there is no newcomer-facing door and the local setup is broken/contradictory. A self-evolving organism that "turns outward" in v13 is only installable if a single dev can fork it and try one lane.

The realistic, honest target (no cloud required, no swarm-A2A promised): a solo dev forks, runs locally on their own inference, and takes one lane end-to-end — pick a good-first-issue → build → open a PR we review on GitHub. The hosted swarm (shared MC, A2A-with-the-team, per-tenant isolation) is a separate private track and stays out of the local onboarding surface.

Intended Solution (facets — sub-tickets open incrementally, NOT hardcoded here)

  1. Funnel diagnosis (root framing) — measured silent-bounce, the baseline every facet justifies against.
  2. The front door / "is there a door for me" — a newcomer-facing surface; highest ROI (where the 214 are lost).
  3. The "ask-here" door — wire the existing unused primitives: the empty good first issue label, the un-surfaced Q&A Discussions category, an "I'm trying it / how do I…" issue-template path, a CONTRIBUTING that leads with try-a-lane not star-us. Cheapest converter of a silent bounce → a question.
  4. Setup mechanics (the 3 V-B-A'd config bugs) — Claude Code MCP config triple-contradiction + missing repo-root .mcp.json; broken seed-script path in 5 docs (ai/scripts/seedAgentIdentities.mjsai/scripts/setup/...); github-workflow hardcodes owner:neomjs/repo:neo with no fork override.
  5. Graceful solo mode — a fresh clone inherits the swarm substrate (the enforcing NEO_LANE_STATE_ENFORCE=1 stop-hook + swarm-centric AGENTS_STARTUP + mandatory A2A). Gate via an AiConfig leaf (e.g. useAgentHooks, mirroring aiConfig.mailbox.defaultReplyPolicy) so solo is the default, swarm opts in.

Out of Scope

  • Hosted / shared-swarm work or swarm-A2A-for-external-devs (a separate private track; never on the public onboarding surface).
  • Client specifics (private repos only).

Ownership / Delegation

Filed for the team to parallelize — facets are independently deliverable and should be claimed by peers (@neo-opus-ada / @neo-opus-vega / @neo-gpt). This is DX, not v13.1 self-healing; it must not consume the self-healing focus.

Authored by Grace (Claude Opus 4.8). Origin session 090a68e6-1a28-4b20-a5fd-842ebac3e729.