Add it-toolbox extension - #31252
Add it-toolbox extension#31252zhanghuid wants to merge 4 commits into
Conversation
- chore: init - first commit
|
Congratulations on your new Raycast extension! 🚀 We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 15 business days. Once the PR is approved and merged, the extension will be available on our Store. |
|
|
All nine findings from the AI review are addressed in
7 regression tests cover the above; Two judgement calls worth flagging, in case you disagree:
The last checklist item (opening the distribution build in Raycast) is still in progress on my side; I will tick it once that pass is done. |
|
Follow-up in That was correct, and I verified it against the reference implementation rather than taking it on faith. cronie sets Reproduced before the change ( Still ready for review. |
Description
IT Toolbox collects sixteen small utilities that come up every day into a single extension,
so you don't have to open a browser tab for "online timestamp converter" or "md5 online".
encodeURIComponentorencodeURI, plus a query-parameter breakdowndiffoutputINlist or CSV row, plus character/word/line countsThings worth pointing out
Timestamp — produce a result from an empty input, so
⌥ Space → Timestamp → ⏎immediatelyshows the current time and current timestamp (seconds and milliseconds).
⌘ ⇧ Rrefreshes it.with a note of how much was hidden;
⏎copies,⌘ ⇧ ⏎copies the full value,⌘ ⇧ Ccopiesthe detail,
⌘ ⇧ Tcopies the title,⌘ ⇧ Ppastes into the active app. Long values open in ascrollable detail page reporting character count, line count and longest line.
assets/icon.pngandassets/icon@dark.pngso the icon reads well inboth themes.
requests the image from the public QR Server API, so the submitted text
is sent to that service. This is called out in the README as well.
src/utils/toolbox.tswith no UI dependency, wrapped bytwo shared components (
InputFormfor input → results,ResultListfor folded previews anddetail pages). Each command is a thin
src/*.tsxentry point.npm testruns 48 self-tests(
src/__tests__/toolbox.test.ts, a plaintsxscript, no extra dependency) against those purefunctions;
npx tsc --noEmitandray lint(ESLint 9 flat config) are clean.Screencast
A screencast isn't attached — the five Store screenshots (
metadata/, 2000×1250) are embeddedbelow and cover the main surfaces. Happy to record a walkthrough screencast if it would help.
Checklist
npm run buildand tested this distribution build in Raycastassetsfolder are used by the extension itselfREADMEare placed outside of themetadatafolder