Skip to content

feat(threads): add two TypeScript 7 threads#55

Merged
shahid-io merged 1 commit into
stagingfrom
feat/typescript-7-threads
Jul 12, 2026
Merged

feat(threads): add two TypeScript 7 threads#55
shahid-io merged 1 commit into
stagingfrom
feat/typescript-7-threads

Conversation

@shahid-io

Copy link
Copy Markdown
Contributor

TypeScript 7.0 shipped on July 8, 2026 (the Go-native "Project Corsa" compiler). Two new threads covering it, written against the official release notes rather than from memory.

Threads

why-typescript-7-is-written-in-go — the architecture piece. The 8-12x came from a port, not a redesign, which means the old compiler wasn't badly written: the runtime under it couldn't express what it was doing. Covers where the time went (JIT warmup on short builds, megamorphic call sites, millions of heap objects), the real constraint (the cyclic symbol/type graph can't be shared across JS workers, so the checker stayed single-threaded), why Go and not Rust, the --checkers / --builders flags, why stableTypeOrdering can't be disabled, and the LSP rewrite.

upgrading-to-typescript-7 — the migration guide. Removed options, the defaults that silently change your build (strict, rootDir, types: []), stricter checked-JS rules, and the thing that actually gates adoption: 7.0 ships with no programmatic API, so typescript-eslint, Vue, Svelte, Astro and MDX still need TS 6 alongside. Ends on our own situation honestly, since this site is MDX.

The two cross-link to each other. Covers wired up in thread-covers.ts using existing images (color-stacks, planning-notes).

Checks

  • npm run typecheck and npm run build pass locally; both routes render, including their OG images.

Sources

🤖 Generated with Claude Code

Covers the Go rewrite (why shared-memory concurrency was the missing
capability, why not Rust) and the migration reality (removed options,
changed defaults, the missing programmatic API).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🔍 Preview deployment ready: https://binarysemaphore-f4el8ugx3-shahidios-projects.vercel.app

Commit 55494e8

@shahid-io
shahid-io merged commit a90debd into staging Jul 12, 2026
5 checks passed
@shahid-io
shahid-io deleted the feat/typescript-7-threads branch July 12, 2026 09:25
@shahid-io shahid-io mentioned this pull request Jul 12, 2026
shahid-io added a commit that referenced this pull request Jul 12, 2026
* feat(threads): add two TypeScript 7 threads (#55)

Covers the Go rewrite (why shared-memory concurrency was the missing
capability, why not Rust) and the migration reality (removed options,
changed defaults, the missing programmatic API).

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* chore(release): v0.3.0

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
shahid-io added a commit that referenced this pull request Jul 18, 2026
* feat(threads): add two TypeScript 7 threads (#55)

Covers the Go rewrite (why shared-memory concurrency was the missing
capability, why not Rust) and the migration reality (removed options,
changed defaults, the missing programmatic API).

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* feat(threads): add thread on Claude routines and cron (#57)

New /threads post: "Cron was easy because the job was dumb" — how a
Claude routine is a cron job whose payload is an agent, and which of
cron's guarantees (determinism, safe retries, overlap) that breaks.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* feat(threads): deepen Claude routines thread, add reading enhancements (#59)

Thread:
- Much deeper, more practical: routine anatomy, a gallery of real routines
  (CI triage, dependency digest, stale sweep, on-call handoff, docs freshness)
  with schedules and prompts, idempotency patterns, a cron syntax refresher,
  and an observability section.
- Adds the companion YouTube link and a `claude` tag (tags are derived from
  frontmatter, so it becomes a filter automatically).

Reusable components (all wired into MDX):
- `annotate.tsx`: hand-drawn pen marks (Underline/Circle/Box/Strike/Highlight)
  that draw themselves on scroll, gated behind prefers-reduced-motion. Soft
  candy colours (blue/violet/lime/sun), no red.
- `table-of-contents.tsx`: sticky "On this page" right rail with scroll-spy.
- `cron-diagram.tsx`: styled cron field breakdown, replacing brittle ASCII art.
- `code-block.tsx`: copy-to-clipboard button on thread code blocks.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* feat(threads): add cover for the Claude routines and cron thread (#61)

Every other thread had a cover; this one rendered coverless on the /threads
grid. Adds a designed 2:1 cover in the site's canvas and fonts (the cron field
motif with a hand-drawn ring), echoing the thread's own pen annotations rather
than reaching for an unrelated stock photo.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* feat(threads): retitle the routines thread to name Claude (#63)

"Cron was easy because the job was dumb" never said Claude, which weakened the
title, the /threads card, and the OG/SEO metadata. The slug is unchanged, so the
URL stays /threads/claude-routines-and-cron.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* chore(skills): make .agents/skills canonical, symlink from .claude/skills (#58)

The 6 project skills lived as real files under .claude/skills while an
identical, untracked duplicate had appeared under .agents/skills. The
supabase skills already follow the opposite (correct) pattern: real files
in .agents/skills, symlinked into .claude/skills.

Unify on that: .agents/skills/<skill> holds the real SKILL.md, and
.claude/skills/<skill> is now a symlink to it. No content change, no
duplication, git status stays clean.

(--no-verify: lint-staged's stash backup errors on the new symlinks; only
.md files and symlinks are staged, nothing for it to lint.)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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.

1 participant