[{"data":1,"prerenderedAt":284},["ShallowReactive",2],{"apps-en":3,"site-en":245,"categories-en":263},[4,69,157],{"id":5,"body":6,"category":48,"extension":49,"featured":50,"header":51,"meta":65,"slug":66,"stem":67,"__hash__":68},"apps\u002Fen\u002Fapps\u002Ffifteen-game.yml",[7,30,39],{"name":8,"type":9,"args":10},"Features","features",{"items":11},[12,15,18,21,24,27],{"title":13,"description":14},"3x3 to 6x6 grids","Pick your difficulty. All puzzles are guaranteed solvable.",{"title":16,"description":17},"Multi-tile sliding","Click any tile on the same row or column as the empty cell — all tiles between slide at once.",{"title":19,"description":20},"Score tracking","Move counter and timer. Best score tracked per session.",{"title":22,"description":23},"Keyboard & mouse","WASD, arrow keys, or mouse click. Resizable window with auto-scaling board.",{"title":25,"description":26},"Sound effects","Kenney.nl sound assets. Adjustable volume.",{"title":28,"description":29},"Cross-platform","Linux, macOS (x86_64 + ARM), Windows. Single binary, no dependencies.",{"name":31,"type":32,"args":33},"Controls","code",{"commands":34},[35,36,37,38],"Move tile     WASD \u002F Arrow keys \u002F Mouse click","Navigate menus     WASD \u002F Arrow keys","Select     Enter \u002F Space \u002F Mouse click","Back \u002F Menu     Escape",{"name":40,"type":41,"args":42},"Changelog","changelog",{"entries":43},[44],{"date":45,"version":46,"text":47},"2026-05-02","v0.1.0","Initial release — 3x3 to 6x6 grids, multi-tile sliding, score tracking, sound effects","games","yml",true,{"name":52,"tagline":53,"description":54,"platforms":55,"installCommand":59,"links":60,"requirements":63,"screenshot":64},"Fifteen Puzzle","A classic sliding tile puzzle with warm, tactile visuals. Built with Rust and macroquad.","3x3 to 6x6 grids, guaranteed solvable puzzles, multi-tile sliding, move counter, timer, best score tracking.",[56,57,58],"Linux","macOS","Windows","curl -fsSL appcrate.dev\u002Ffifteen-game | sh",{"github":61,"download":62},"https:\u002F\u002Fgithub.com\u002Folamedia\u002Ffifteen-game","https:\u002F\u002Fgithub.com\u002Folamedia\u002Ffifteen-game\u002Freleases","Rust binary. ~1.3 MB. MIT License.","\u002Fscreenshots\u002Ffifteen-game.png",{},"fifteen-game","en\u002Fapps\u002Ffifteen-game","35t0GiSlTyuZvDWdFcs6IddoK1XaSDbu44SpBD_td_k",{"id":70,"body":71,"category":142,"extension":49,"featured":50,"header":143,"meta":154,"slug":131,"stem":155,"__hash__":156},"apps\u002Fen\u002Fapps\u002Fprocess-manager.yml",[72,93,108,120,125,136],{"name":8,"type":9,"args":73},{"items":74},[75,78,81,84,87,90],{"title":76,"description":77},"Docker-compose style config","Define services in pm.yaml — command, environment, depends_on, working_dir, restart policy.",{"title":79,"description":80},"Interactive TUI","Navigate services, start\u002Fstop\u002Frestart individually or all at once. Keyboard-driven.",{"title":82,"description":83},"Daemon mode","pm up starts a background daemon. Services keep running after TUI exit.",{"title":85,"description":86},"Per-service logs","pm logs \u003Cservice> tails output. Add -f to follow.",{"title":88,"description":89},"Restart policies","no, on-failure, or always. Exponential backoff: 1s to 32s cap.",{"title":91,"description":92},"Hot reload","pm reload picks up config changes without restarting running services.",{"name":94,"type":32,"args":95},"Usage",{"commands":96},[97,98,99,100,101,102,103,104,105,106,107],"pm                  # launch TUI (default)","pm up               # start all services","pm up api db        # start named services","pm stop             # stop all","pm stop api         # stop named","pm restart          # restart all","pm status           # print status table","pm logs api         # tail logs","pm logs api -f      # follow logs","pm reload           # reload config","pm shutdown         # shut down daemon",{"name":109,"type":32,"args":110},"TUI keybindings",{"commands":111},[112,113,114,115,116,117,118,119],"↑\u002F↓ or k\u002Fj    Navigate services","s \u002F Enter      Start selected","x              Stop selected","r              Restart selected","a              Start all","z              Stop all","R (shift)      Reload config","q              Quit TUI (services keep running)",{"name":121,"type":122,"args":123},"Config example","markdown",{"content":124},"Create `pm.yaml` in your project root:\n\n```yaml\nservices:\n  web:\n    command: python3 -m http.server 8080\n    environment:\n      PYTHONUNBUFFERED: \"1\"\n    depends_on:\n      - logger\n    restart: on-failure\n\n  logger:\n    command: bash -c \"while true; do echo heartbeat; sleep 5; done\"\n```\n\nAll fields except `command` are optional. `working_dir` defaults to the config directory.\n",{"name":126,"type":127,"args":128},"Tags","tags",{"tags":129},[130,131,132,133,134,135],"rust","process-manager","docker-compose","tui","daemon","cli",{"name":40,"type":41,"args":137},{"entries":138},[139],{"date":140,"version":46,"text":141},"2026-04-19","Initial release — daemon, TUI, YAML config, restart policies, per-service logs","dev-tools",{"name":144,"tagline":145,"description":146,"platforms":147,"installCommand":148,"links":149,"requirements":152,"screenshot":153},"pm","Docker-compose-like process manager with TUI dashboard. Runs any command, not limited to Node\u002FBun.","YAML config, dependency ordering, restart policies, interactive TUI, daemon mode, per-service logs.",[56],"curl -fsSL appcrate.dev\u002Fpm | sh",{"github":150,"download":151},"https:\u002F\u002Fgithub.com\u002Folamedia\u002Fprocess-manager","https:\u002F\u002Fgithub.com\u002Folamedia\u002Fprocess-manager\u002Freleases","Rust binary. Linux x86_64. MIT License.","\u002Fscreenshots\u002Fprocess-manager.png",{},"en\u002Fapps\u002Fprocess-manager","5PMiIXgvwDc-grN7Zb_4RczLcgpYExOnBhEVu_m0sLE",{"id":158,"body":159,"category":135,"extension":49,"featured":50,"header":231,"meta":241,"slug":242,"stem":243,"__hash__":244},"apps\u002Fen\u002Fapps\u002Fskills.yml",[160,181,196,213,217],{"name":8,"type":9,"args":161},{"items":162},[163,166,169,172,175,178],{"title":164,"description":165},"Any git source","GitHub, GitLab, self-hosted, SSH, local paths. Not locked to any single provider.",{"title":167,"description":168},"Auto-detect agents","Finds installed coding agents and installs skills to the right places. 13 agents supported.",{"title":170,"description":171},"Interactive prompts","Multi-select skills and agents. Remembers your preferences between runs. Non-interactive mode for CI.",{"title":173,"description":174},"Symlink or copy","One canonical copy with symlinks per agent, or independent copies. Global or project-local scope.",{"title":176,"description":177},"Lock file tracking","Global and local lock files track sources, hashes, timestamps. Update and restore from lock.",{"title":179,"description":180},"Skill discovery","Scans priority directories, falls back to recursive search. YAML frontmatter for metadata.",{"name":94,"type":32,"args":182},{"commands":183},[184,185,186,187,188,189,190,191,192,193,194,195],"$ skills add owner\u002Frepo","$ skills add https:\u002F\u002Fgithub.com\u002Fowner\u002Frepo","$ skills add gitlab:group\u002Frepo","$ skills add .\u002Fmy-skills","$ skills add owner\u002Frepo@my-skill","$ skills add owner\u002Frepo --agent cursor --agent claude-code","$ skills add owner\u002Frepo --all --copy","$ skills add owner\u002Frepo --global","$ skills list --json","$ skills update","$ skills remove my-skill","$ skills init my-new-skill",{"name":197,"type":127,"args":198},"Supported agents",{"tags":199},[200,201,202,203,204,205,206,207,208,209,210,211,212],"Claude Code","Cursor","Codex","OpenCode","Cline","Windsurf","Roo Code","Goose","Augment","Continue","GitHub Copilot","Gemini CLI","Hermes",{"name":214,"type":122,"args":215},"How it works",{"content":216},"Parse any source — GitHub shorthand, full URLs, SSH, GitLab prefixes, local paths. Shallow clone for remote sources.\n\nDiscover SKILL.md files by scanning priority directories first, then falling back to recursive search. Interactive multi-select for skills and agents, with saved preferences between runs.\n\nInstall to a canonical location, then symlink (or copy) to each agent's skills directory. Lock file tracks source, hash, and agent list for updates and reproducibility.\n",{"name":40,"type":41,"args":218},{"entries":219},[220,224,228],{"date":221,"version":222,"text":223},"2026-04-24","v0.3.0","Two-stage install flow, session-persistent preferences, all skills unchecked by default",{"date":225,"version":226,"text":227},"2026-04-15","v0.2.0","Update command, lock file v3, hash-based change detection",{"date":229,"version":46,"text":230},"2026-03-30","Initial release — add, list, remove, init, 13 agents supported",{"name":232,"tagline":233,"description":234,"platforms":235,"installCommand":236,"links":237,"requirements":240},"Skills","Install agent skills from any git source. One command — works with every coding agent.","A standalone CLI that fetches skill definitions (SKILL.md files) from any git repository and installs them for your AI coding agents.",[56],"curl -fsSL appcrate.dev\u002Fskills | sh",{"github":238,"download":239},"https:\u002F\u002Fgithub.com\u002Folamedia\u002Fskills-rs","https:\u002F\u002Fgithub.com\u002Folamedia\u002Fskills-rs\u002Freleases","Rust binary, no runtime dependencies. Requires git installed.",{},"skills","en\u002Fapps\u002Fskills","h_KG2ErtjY5F8QMZLaicnXefr6Fyun-QoLQbH9OXwiw",{"id":246,"extension":49,"hero":247,"meta":250,"stem":251,"values":252,"__hash__":262},"site\u002Fen\u002Fsite.yml",{"title":248,"subtitle":249},"Small apps that do one thing well.","We build focused tools, games, and utilities. No bloat.",{},"en\u002Fsite",[253,256,259],{"title":254,"description":255},"One problem per app","No feature creep, no \"platform\" ambitions. Each tool has a narrow, specific purpose.",{"title":257,"description":258},"Fair pricing","No hidden costs. Pay once or use for free — depends on the app.",{"title":260,"description":261},"No telemetry","We don't track usage. Crash reports are opt-in. Your data stays on your machine.","fB8-SA77QGvT-Dd1ARdifAtk4wTI2AK0-9SJpgTfpiE",{"id":264,"extension":49,"items":265,"meta":281,"stem":282,"__hash__":283},"categories\u002Fen\u002Fcategories.yml",[266,268,271,273,276,278],{"slug":142,"label":267},"Dev Tools",{"slug":269,"label":270},"ai","AI",{"slug":48,"label":272},"Games",{"slug":274,"label":275},"mobile","Mobile",{"slug":135,"label":277},"CLI",{"slug":279,"label":280},"utilities","Utilities",{},"en\u002Fcategories","MvaEfwnqgassJcsI3pKwUkdu-xCj98IMS9cksTLQ_Cw",1777756433815]