Skip to content

Implement developer onboarding and Raycast release readiness#4

Merged
Jing-yilin merged 7 commits into
raycast-extensionfrom
issue-2-onboarding-raycast-release
May 19, 2026
Merged

Implement developer onboarding and Raycast release readiness#4
Jing-yilin merged 7 commits into
raycast-extensionfrom
issue-2-onboarding-raycast-release

Conversation

@Jing-yilin
Copy link
Copy Markdown
Contributor

Summary

Implements issue #2 developer onboarding and Raycast publishing readiness from the raycast-extension branch.

  • Adds remote-capable install.sh that installs latest GitHub Release CLI by default, initializes config/session storage, installs detected agent /perch commands, and falls back to local Cargo builds for contributor installs.
  • Adds perch doctor and perch doctor --json diagnostics for CLI location, config/session files, agent binaries, and installed commands.
  • Adds macOS CLI release workflow for arm64/x86_64 binaries plus SHA-256 checksums.
  • Updates README Quick Start and Raycast README/error messages to point users to one-line install and perch doctor.

Validation

  • cargo test --manifest-path cli/Cargo.toml
  • tests/install.sh
  • cd raycast-extension && npm run lint
  • cd raycast-extension && npm run build
  • perch doctor --json output validates as JSON

Closes #2

@Jing-yilin
Copy link
Copy Markdown
Contributor Author

Updated per Raycast/binary dependency best practices and Devin review:\n\n- Installer now downloads and verifies the release .sha256 before executing/installing the CLI.\n- Release workflow now creates the GitHub Release on tag push if it does not already exist, then uploads binaries/checksums.\n- Added installer test coverage for the remote release path and checksum verification.\n\nRevalidated:\n- cargo test --manifest-path cli/Cargo.toml\n- tests/install.sh\n- cd raycast-extension && npm run lint\n- cd raycast-extension && npm run build

@Jing-yilin
Copy link
Copy Markdown
Contributor Author

Applied remaining Raycast/release best-practice updates without merging the PR:\n\n- Added semantic release tag validation in the CLI release workflow (expects vX.Y.Z-style tags).\n- Added post-upload release asset listing for workflow visibility.\n- Hardened checksum parsing in install.sh.\n- Checked Raycast author configuration. ReScience Lab is not accepted by Raycast as an author handle (lint returns 404 and rejects spaces), so I set the valid account handle to Yilin for now. To publish under ReScience Lab, create/claim a Raycast account or team handle without spaces, then we can update author.\n\nRevalidated:\n- tests/install.sh\n- cargo test --manifest-path cli/Cargo.toml\n- cd raycast-extension && npm run lint\n- cd raycast-extension && npm run build

Jing-yilin and others added 2 commits May 19, 2026 22:22
Adds project-level section headers to the pending sessions list in the
macOS menu bar. When sessions span multiple projects, each group gets a
header showing the project folder name; single-project lists are
unchanged.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@Jing-yilin
Copy link
Copy Markdown
Contributor Author

Double-checked Devin's latest findings and fixed the actionable issues:\n\n- Added Clap-powered perch --version.\n- Installer now verifies the downloaded binary identifies as Perch via --version before installing.\n- Tightened release tag validation to exact vX.Y.Z.\n- Made release asset upload failure explicit with a clear error/exit.\n- Updated installer tests for binary identity validation.\n\nRevalidated:\n- cli/target/debug/perch --version\n- cargo test --manifest-path cli/Cargo.toml\n- tests/install.sh\n- cd raycast-extension && npm run lint && npm run build\n\nRemaining note: Devin suggested GPG/cosign signature verification. I did not add that because it requires choosing/managing a signing strategy/key or GitHub artifact attestations. The installer already verifies SHA-256 checksums before execution, but repo/release compromise protection should be handled as a separate release-hardening decision.

@Jing-yilin Jing-yilin merged commit 72b75c7 into raycast-extension May 19, 2026
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