Skip to content

[Repo] Port editors/vscode/src/extension.ts to .affine once #35 lands #63

Description

@hyperpolymath

Problem

editors/vscode/src/extension.ts is the only TypeScript file under editors/. It exists because AffineScript currently has no Node-target backend, and VS Code extensions have to ship a Node-callable entry point pinned by package.json's main field.

It's documented as an approved exemption in .claude/CLAUDE.md (see TypeScript Exemptions table). The unblock condition is #35.

Acceptance criteria

  • Add Node-target backend + vscode-API bindings to enable .affine VS Code extensions #35 has landed (Node-target codegen produces a JS file consumable as a CommonJS module).
  • Port the extension to editors/vscode/src/extension.affine.
  • Update editors/vscode/package.json main to point at the AffineScript-compiled artefact.
  • Verify activation, command registration, LSP client wiring, and disposable cleanup all work end-to-end.
  • Remove the editors/vscode/src/extension.ts row from the TypeScript Exemptions table in .claude/CLAUDE.md.

Origin

TS-elimination audit, 2026-05-02 (recommendation #7). Local audit at ~/dev/affinescript/.claude/CLAUDE.md notes the exemption.

Dependencies

Activity

  1. hyperpolymath commented on May 15, 2026

    @hyperpolymath
    OwnerAuthor

    This appears effectively complete — flagging for closure confirmation (not self-closing, per the ISSUE-CLOSURE rule).

    Acceptance-criteria status:

    Everything except the live-host smoke test is done. @hyperpolymath — OK to close this (tracking any remaining in-editor verification under the #104 publish work / a dedicated QA pass), or would you like the e2e verification tracked here before closing?


    Generated by Claude Code

  2. hyperpolymath commented on May 16, 2026

    @hyperpolymath
    OwnerAuthor

    Closing as completed at owner request.

    All mechanically-verifiable acceptance criteria are met:

    The remaining acceptance item — live-host activation / command / LSP / disposable verification — cannot be proven from the repo tree and is now tracked separately in #139 (to be folded into the #104 publish QA pass).


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions