Skip to content
@MyThingsLab

MyThingsLab

MyThingsLab

A fleet of small tools that develop a GitHub repository on their own — calling an LLM only for the one step that genuinely needs judgment, and running everything else as deterministic code.

The pattern

Every My[X] tool follows the same loop:

  1. read a unit of work from a backlog (a GitHub issue),
  2. run deterministic pre-work — lint, index, checks — with no model call,
  3. call an LLM once, only for the step that needs judgment,
  4. open a pull request, never a merge — a human (or a permission-scoped GitHub App) always holds merge authority,
  5. append a structured outcome to a shared ledger so the next run can trust it.

my-things-core is the SDK this is built on: five contracts (ledger, policy, engine, github, isolation) that every tool imports and no tool reimplements. It calls no LLM itself — engine is the single seam where a model is ever invoked, and it's a Protocol, so a tool runs and tests its whole skeleton for free before any real backend is wired in.

Stability: v1 core vs. v0 tools

Most of the fleet is v0 — build freely, float on @main, no version discipline. A small core has graduated to v1: real semver (MAJOR.MINOR.PATCH), a CHANGELOG.md entry per bump, a deprecate-before-remove rule, and v1-to-v1 dependencies pinned to a tagged release instead of @main. The contract lives in my-things-core's release.md.

Repo Does
my-things-core The SDK: the five contracts every tool imports and no tool reimplements.
my-guard Rule engine — evaluates an Action to allow / ask / deny.
my-director Human-in-the-loop end-of-day session: decides the next objective, decomposes it into task-issues.
my-fleet Orchestration/ops tooling that chains every tool's CLI into one autonomous cycle.
my-dashboard Renders the fleet's org-wide dashboard and single-repo status cards.
my-reporter Digests the ledger into a report and posts it as a comment.

Next in line for v1. my-fleet's fleet_cycle.py chains these into the cycle by name, and my-orchestrator is imported directly by fleet_dispatch.py to pick the next unit of work — that direct wiring is what puts them ahead of the rest of the v0 backlog for promotion:

Tool Wired in as
my-orchestrator picks the next unit of work — imported directly by fleet_dispatch.py
my-planner cycle step 1 — ranks the backlog my-orchestrator reads
my-researcher cycle step 3 — briefs open study topics
my-tester cycle step 4
my-changelogger cycle step 5
my-docs cycle step 6
my-projector cycle step 8
my-telegram-bot cycle step 10 — the ASK-channel human gate

Open wiring question. my-coder exists specifically to formalize the fleet's worker role (issue → headless session → draft PR), but fleet_dispatch.py doesn't call it — it still spawns its own inline generic claude -p session. Until that's resolved, the worker logic lives in two places and my-coder isn't actually load-bearing for the cycle, so it stays off the v1 candidate list for now.

The tools (v0 — build freely)

Each is its own public repo, scaffolded from my-template and built on my-things-core.

Deciding what to do next

Tool Does
my-orchestrator Picks the single next unit of work across the whole fleet.
my-planner Produces a priority-ordered plan of what the fleet should do next.
my-architect Decomposes an objective into an ordered, dependency-tagged backlog — the unattended counterpart to my-director.
my-projector Keeps the fleet's GitHub Project board and tracking issue in sync.
my-searcher Indexes a repo's files and ranks the ones most relevant to an issue.
my-idea Explores a rough idea against the fleet and posts a structured brief.
my-scaffolder Bootstraps a brand-new My[X] tool repo from a proposal issue.
my-pipeline Declares and drives cross-tool handoffs (workflow DAG) as labeled issues.

Working the code

Tool Does
my-coder Formalizes the fleet's worker role: closes a picked issue as a draft PR via a full headless coding session.
my-tester Finds one uncovered unit and opens a PR adding a test for it.
my-changelogger Folds ledger ship/fix/build entries into a CHANGELOG.md section.
my-docs Keeps a docs site in sync with each tool's README / CLAUDE.md.
my-todo Curates a TODO.md from live fleet signals.
my-librarian Given a task, discovers existing packages/CLIs live and recommends build-vs-buy.

Reporting & comms

Tool Does
my-reporter Digests the ledger into a report and posts it as a comment.
my-dashboard Renders the fleet's status as a shareable dashboard.
my-office Renders the fleet as a physical-virtual raytraced office from the shared ledger.
my-server Surfaces the fleet over HTTP.
my-telegram-bot Pushes ledger notifications over Telegram; relays a Policy ASK to a human.
my-guide The fleet's front door: a plain-language catalog, wish matching, and dry-run trials.

Research & knowledge

Tool Does
my-uni Decomposes a "field of study" issue into researchable topic issues.
my-researcher Discovery + synthesis — turns a topic issue into a cited brief PR.
my-cartographer Clusters a document corpus into named, prerequisite-ordered themes.
my-glossary Defines a term from a document corpus, citing the exact source spans.
my-bibliography Resolves a DOI/arXiv-id/ISBN/free-text reference into BibTeX + CSL-JSON.
my-archivist Maintains a unified catalog of a book / materials collection.
my-scraper Given a URL and a question, extracts structured data from the page.
my-notes Freeform note capture: files a note as an issue, extracts tags + title.

Study loop (spaced recall, quizzing, grading — see mythings.mastery)

Tool Does
my-syllabus Decomposes a course program into an ordered list of masterable topics.
my-professor Quizzes and grades one topic at a time against a document corpus.
my-flashcards Spaced-recall drilling: builds, reviews, and grades flashcard decks.
my-grader Summative assessment: grades a whole mock exam in one pass.

Documents & media

Tool Does
my-typster Turns a document-drafting issue into a Typst document.
my-presentation Turns a talk-request issue into a drafted, compiled Typst slide deck.
my-designer Design brief → self-contained HTML/CSS mockup.
my-site Drafts Jekyll content for a personal site.
my-manim-editor Translates an animation concept into a syntax-valid ManimCE Scene script.
my-figure Extracts every embedded figure from a PDF into a cross-referenced index.
my-tables Extracts every table from a PDF into structured (CSV + Markdown) form.
my-equations Extracts every displayed equation from a PDF into indexed LaTeX.

Data & signals

Tool Does
my-data-analysist Profiles a local CSV and narrates insights + a follow-up analysis.
my-signal-processor FFT/statistics analysis of a local CSV time-series.
my-image-processor Extracts dimensions/histogram/EXIF from a local image and interprets them.
my-embedder Open-source embedding backends for mythings.embed, with a local server.

Not a My[X] tool — the fleet builds these out as real projects, exercising the loop end-to-end:

Repo Does
my-raytracer Monte Carlo path tracer — my-coder's first real build target.

Foundation

Repo Does
my-things-core The SDK: the five contracts every tool imports and no tool reimplements.
my-template Scaffold for a new My[X] tool — copy it, replace template.
my-fleet Chains the tools into one autonomous cycle (formerly fleet-dispatch's own scripts).
fleet-dispatch The workspace root; its dispatch/ops scripts now live in my-fleet.
typst-templates Shared Typst style-anchor templates for my-typster/my-presentation.
mythingslab.github.io Technical documentation for the fleet.

Status

Current status, last/next steps per tool, open decisions, and safety gaps live on the fleet's project board (org members only). It's manually curated, not auto-generated — the org-wide tracking issue carries the full-detail write-up behind each card.

Design rules

  • Deterministic-first. An LLM is called only where judgment is irreplaceable; everything else is plain code, free to run and free to test.
  • GitHub-native. Issues, Actions, PRs, and App identity are the substrate — no multi-forge abstraction, no scheduler beyond schedule: triggers.
  • PR, never merge. No tool holds merge authority. A human or a permission-scoped GitHub App does.
  • One shared ledger. An append-only JSONL history every tool writes to and reads back, so the fleet has one trustworthy audit trail instead of N private ones.

All tool repos are public and MIT-licensed.

Pinned Loading

  1. my-guard my-guard Public

    The rule engine for MyThingsLab — evaluates an Action to allow/ask/deny.

    Python

  2. my-orchestrator my-orchestrator Public

    Picks the single next unit of work across the whole MyThingsLab fleet.

    Python

  3. my-template my-template Public template

    Scaffold for a MyThingsLab My[X] tool — copy, then replace 'template'.

    Python

  4. my-tester my-tester Public

    Finds one uncovered unit and opens a PR adding a test for it.

    Python

  5. my-things-core my-things-core Public

    Core SDK for the MyThingsLab autonomous dev-harness tool line (My[X]).

    Python

Repositories

Showing 10 of 54 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…