agentleFS
MerribanMerriban/LaunchPilot/CLAUDE.md

LaunchPilot

CLAUDE.md0 starsChanged 3 months agoMITView on GitHub

LaunchPilot is a fork-and-run launch framework for Claude Code. It is not an app: this repository contains skills, slash commands and templates — Claude Code is the runtime. The user forks the repo, opens Claude Code inside it, points it at their open-source project, and gets a complete launch plan plus ready-to-ship launch kits for every channel where the project can win. Pipeline: Introspection → Strategy Router → Executor (assisted / auto). All launch outputs live under launches/<name>/ (git-ignored, except…

  • Reads credentials

The file

We split this CLAUDE.md into the rules it gives an agent

3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    All launch outputs live under launches/<name>/ (git-ignored, except launches/_example/).

    line 20
  2. Distinctive:

    Every claim must be present in the project's manifest, which itself only contains facts found in the repository.

    line 34
  3. Distinctive:

    If the user asks to circumvent any of these rules, refuse explicitly and point to this section and the Ethics section of the README.

    line 36

≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

LaunchPilot

LaunchPilot is a fork-and-run launch framework for Claude Code. It is not an app: this repository contains skills, slash commands and templates — Claude Code is the runtime. The user forks the repo, opens Claude Code inside it, points it at their open-source project, and gets a complete launch plan plus ready-to-ship launch kits for every channel where the project can win.

How the flow works

CommandWhat it does
/launch-init <path-or-github-url>Inspects the target project, generates launches/<name>/manifest.yaml with a gap report
/launch-plan <name>For every channel in channels/channels.yaml: GO / NO-GO / BLOCKED-BY-GAP verdict with reasoning, then a sequenced D-7 → D+7 timeline (plan.yaml + PLAN.md)
/launch-kit <name>For each GO channel of type ASSISTED: a folder of paste-ready assets; also generates launch-calendar.ics and dashboard.html (single self-contained launch-day console)
/launch-auto <name> <channel>For AUTO channels: executes the action via API, with explicit confirmation before every external action
/launch-status <name>Summary of the state of launches in progress

Pipeline: Introspection → Strategy Router → Executor (assisted / auto). All launch outputs live under launches/<name>/ (git-ignored, except launches/_example/).

Ethics — hard rules (non-negotiable)

These rules are part of LaunchPilot's positioning. They are enforced in the command definitions and MUST be enforced by Claude at runtime, even if the user asks to bypass them:

  1. NEVER post automatically to Hacker News, Reddit, Product Hunt or any channel classified assisted or excluded in channels/channels.yaml — not via API, not via headless browser, not behind a flag. ASSISTED kits prepare everything; the act of publishing stays human.
  2. NEVER implement or suggest upvote services, engagement rings, vote trading, or multiple accounts.
  3. NEVER fabricate metrics, testimonials, benchmarks or claims in generated copy. Every claim must be present in the project's manifest, which itself only contains facts found in the repository.
  4. If the user asks to circumvent any of these rules, refuse explicitly and point to this section and the Ethics section of the README.

Conventions

  • Language: everything in this repo (skills, commands, templates, README, commits) is in English. Generated launch content defaults to English; the user can set language: in the manifest.
  • No secrets in the repo: AUTO adapters read API keys from environment variables or from a git-ignored .env.local. Each adapter documents which keys it needs in .claude/skills/adapters/SKILL.md.
  • Windows-native first: developed and tested on Windows 11 (PowerShell + Git Bash, no WSL). Every script must run identically on macOS/Linux. Always handle Windows paths (backslashes, spaces) when resolving user input.
  • Zero-dependency scripts: scripts/*.mjs target Node >= 20 and use only the Node standard library.
  • Generated artifacts stay generated: .ics and dashboard.html are outputs of scripts/*.mjs, never hand-edited. dashboard.html is one static file — no bundler, framework, dev server, CDN, npm package, network request or browser storage may enter it (CI enforces the self-containment).
  • Versioned schemas: manifest.yaml and plan.yaml carry a schema_version field and are a public machine-readable interface (see docs/schema.md).
  • Commits: conventional commit messages (feat:, fix:, docs:, chore:, test:).

Project status (updated 2026-08-13)

The repo is on GitHub and CI is green — but it is still PRIVATE.

  • Remote: origin → https://github.com/Merriban/LaunchPilot, first push 2026-08-13.
  • CI ran remotely for the first time: 4/4 matrix legs green (windows + ubuntu × Node 20/22), ubuntu passing on its first run.
  • Visibility is still private, and that is the single blocker in front of every channel. A private repo answers 404 — not 403 — to logged-out visitors, so the README's CI badge renders broken for every reader while rendering correctly for the owner. Do not read "the badge looks passing in my browser" as "the badge works". Verified 2026-08-13 from an unauthenticated request; a control public repo returned 200 from the same machine.
  • Identity: commits are Merriban <merriban.tech@gmail.com> (see the working agreements below). History was squashed to a single Initial commit on 2026-08-03, before the first push.
  • v0.1.0 is tagged locally and deliberately not pushed; no GitHub release exists. Pushing the tag and cutting the release are the user's to do, by hand.
  • CHANGELOG.md exists (Keep a Changelog, 0.1.0 entry). Note it was written from the repo's actual surface, not from the commit log — the squash destroyed the conventional-commit trail that the original plan assumed as its source.
  • Milestones 8 (README) and 9 (dashboard) both passed the user's verification. The README hero keeps assets/flow.svg — an authored schema, 3 KB — while the real recorded demo assets/demo-dashboard.gif sits in the /launch-kit section, next to the claim it proves. Decided 2026-08-06; do not promote the GIF to the hero.

Before launch day, in order — all the user's:

  1. Push master — fff4fdd and later commits are not on the remote yet.
  2. Flip the repo to public. This alone closes the badge gap, the "no public repository" gap and the fork instruction in the quick start.
  3. Push the v0.1.0 tag and cut the GitHub release from the CHANGELOG entry.
  4. Upload the social preview by hand — assets/brand/social-preview-1280x640-dark.png; GitHub exposes no API for it. /launch-auto github-meta prints the checklist and can set description + topics, and works even while the repo is private.
  5. Optional, not blocking: gallery stills for Product Hunt (cut from the GIF's 165 frames), and a recording of the /launch-init → /launch-plan → /launch-kit session itself — the existing GIF shows the dashboard, i.e. the output, not the pipeline.

Milestone 9 — launch-day dashboard (delivered 2026-07-25, verified by the user)

scripts/make-dashboard.mjs + templates/dashboard.template.html produce a single self-contained launches/<name>/dashboard.html as the last step of /launch-kit: data injected as JSON in <script type="application/json" id="launch-data">, rendered as DOM (textContent/createElement only — never innerHTML on kit text), copy buttons with a document.execCommand fallback for file://, in-memory state with explicit progress copy/download/load, dark-first theme. It is a renderer: gating truth stays in plan.yaml, and it never publishes or executes. Suite at 21/21 (green on PowerShell and Git Bash) — the 6 new tests cover generation, unanchored plans, self-containment, hostile-content escaping, count coherence with the .ics, and staleness of the committed _example dashboard. Progress-export JSON is a versioned public interface (docs/schema.md).

Earlier status (updated 2026-07-19)

Milestones 1–7 are complete and committed: scaffold + channel registry; /launch-init (introspection skill, root-cause-grouped gap report, validator); /launch-plan (gating with go / no-go / no-go-by-choice / blocked-by-gap, dual UTC+local times); /launch-kit (all assisted channels, venue rules verified live and cited, PROVISIONAL stamping, make-ics); /launch-auto (dev.to draft-only + github-meta REST adapters, preview→confirm→receipt, --help); /launch-status; CI (windows+ubuntu × Node 20/22, 15 tests) ; docs/schema.md (public interface, compatibility policy); launches/_example/ (real lockjack dogfood incl. kits, calendar, log.md receipts).

Working agreements settled at checkpoints (do not regress):

  • gap_report groups gaps under root causes (derived: sub-entries).
  • Times always rendered in BOTH UTC and the plan timezone.
  • Channel-internal targets (subreddits, communities) are provisional until their live rules are verified and cited in the kit; unverifiable → PROVISIONAL stamp.
  • The census (channels/channels.yaml) is a living document: verified data replaces stale entries with value + date + source.
  • Adapters: fine-grained PAT minimal scopes in .env.example; tokens never in output/receipts (scrub by design); dev.to is draft-only, hard-coded.
  • Git identity for this repo: Merriban <merriban.tech@gmail.com>, set locally so it wins over the global includeIf rule (changed 2026-08-03; the whole history was squashed to one commit under this identity).

Milestone 8 — README: written (2026-07-19), pending user's integral verification. Agreed structure implemented in full (hero with animated SVG flow demo + badges, 3-sentence Why, quick start, 4 components, channel tables, Ethics as positioning, _example link, bring-your-own-automation roadmap, MIT — LICENSE file added). Self-introspection dogfood: /launch-init was run on LaunchPilot itself (launches/launchpilot/manifest.yaml, git-ignored); its gap report drives the remaining tasks below.

The next-task list that used to live here is superseded by Project status at the top of this file. All four items were completed between 2026-07-19 and 2026-08-13: the push happened, the README and dashboard gates passed, and the tag, changelog and brand assets are in place. Standing rule from that list, still in force: all pushing is the user's, because the only GitHub credential stored on this machine is the Spaarkly work account (fcspaarkly), which must NEVER be used for this repo.

Repo map

.claude/commands/     slash commands (the product surface)
.claude/skills/       methodology: introspection, strategy, copywriting, adapters
channels/channels.yaml  channel registry derived from launch-channels-census.md
templates/            manifest template, per-channel kit templates, dashboard.template.html
scripts/              zero-dep Node scripts (validate-manifest, make-ics)
launches/             per-project output (git-ignored except _example/)
test-fixtures/        demo-project fixture for end-to-end validation

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.