← Zpět

Jak jsem vytvořil globální Cursor příkaz /share

Developer potřeboval rychlý způsob, jak sdílet Markdown soubory z jakéhokoli projektu bez nutnosti navigovat do konkrétního adresáře nebo pamatovat si cestu k upload scriptu.

Cílem bylo vytvořit globální Cursor command `/share [file]`, který funguje z libovolného workspace a automaticky zobrazí vygenerovanou URL.

Problém, který jsem řešil

Potřeba snížit friction při sdílení dokumentace, poznámek a Markdown souborů – z více kroků na jeden příkaz. Sdílení Markdown souboru tehdy vyžadovalo navigaci do konkrétního adresáře a spuštění scriptu.

Jak jsem ho vyřešil

Nejprve jsem analyzoval existující `share.sh` script, abych pochopil jeho funkcionalitu (upload přes API, parsování URL, kopírování do schránky). Následně jsem vytvořil Cursor command ve správném formátu s YAML frontmatter pro definici argumentů.

Klíčové bylo přesunout command z lokálního `.cursor/commands/` projektu do globálního `~/.cursor/commands/` s absolutní cestou k scriptu. Pro globální commands je nezbytné použít absolutní cesty, protože working directory se mění podle aktuálního projektu.

Výsledek: funkční globální Cursor command `/share`, který je dostupný v celém systému. Sdílení Markdown souboru teď vyžaduje jen jeden příkaz. Žádná potřeba pamatovat si cestu k scriptu. Funguje z jakéhokoli projektu v Cursor.

Jak to funguje v praxi

Časová úspora: z ~30 sekund (navigace + spuštění) na ~5 sekund (jeden command). Sdílení Markdown souboru teď vyžaduje jen jeden příkaz bez nutnosti navigovat do konkrétního adresáře.

Co jsem se naučil

Cursor commands mají dva scope-y. Lokální (`.cursor/commands/` v projektu) pro project-specific automation a globální (`~/.cursor/commands/` v home) pro cross-project nástroje. Výběr závisí na use case.

Absolutní cesty pro globální commands. U globálních commands je nezbytné použít absolutní cesty k scriptům, protože working directory se mění podle aktuálního projektu.

Iterativní zpřesňování je klíčové. První implementace byla technicky správná, ale nesplňovala skutečnou potřebu. Jedno zpřesnění ("chci to globálně") vedlo k výrazně lepšímu řešení.

Proč to stojí za to

Když máš opakující se workflow a chceš ho automatizovat, nemusíš to dělat manuálně. Můžeš vytvořit globální Cursor command, který funguje z jakéhokoli projektu.

Globální /share command je teď součástí mého workflow. Šetří mi čas, protože nemusím navigovat do konkrétního adresáře. A zároveň mám kontrolu nad tím, jak sdílení funguje, protože všechno je v Cursor commandu.

Pokud máš podobný problém – opakující se workflow – zkus to. Možná zjistíš, že je to jednodušší, než sis myslel.

Časté otázky

Jaký je rozdíl mezi lokálním a globálním Cursor commandem?

Lokální command (`.cursor/commands/` v projektu) funguje jen v daném projektu – hodí se pro project-specific automatizaci. Globální command (`~/.cursor/commands/` v home) funguje odkudkoli. Když potřebuješ nástroj napříč projekty, jako je sdílení souborů, jdi do globálního.

Proč musím u globálních commands používat absolutní cesty?

Working directory se mění podle toho, v jakém projektu zrovna jsi. Relativní cesta k scriptu by nefungovala, protože by hledala script v aktuálním projektu, ne tam, kde skutečně je. Absolutní cesta tohle řeší – script najdeš vždy.

Kolik času reálně ušetřím?

Z ~30 sekund na ~5 sekund. Zní to jako málo, ale když sdílíš soubory několikrát denně, sečte se to. A hlavně – nemusíš přemýšlet, kam navigovat. Jeden příkaz a hotovo.

Jak začít s vlastním globálním commandem?

Vytvoř soubor v `~/.cursor/commands/` s YAML frontmatter pro definici argumentů. Klíčové je použít absolutní cestu k tvému scriptu. Začni s něčím jednoduchým – třeba wrapper na existující script, který už používáš.

Co když první verze nefunguje podle očekávání?

Iteruj. První implementace bývá technicky správná, ale nesplňuje skutečnou potřebu. Jedno zpřesnění ("chci to globálně" místo "chci to v projektu") může vést k výrazně lepšímu řešení. Neboj se upravovat.

Tom