{"_id":"@dynokostya/just-works","_rev":"6-e0a38c7eef9ee50c6248f0b363518b8f","name":"@dynokostya/just-works","dist-tags":{"latest":"1.1.4"},"versions":{"1.0.0":{"name":"@dynokostya/just-works","version":"1.0.0","keywords":["claude","codex","ai","agents","skills","config"],"license":"Apache-2.0","_id":"@dynokostya/just-works@1.0.0","maintainers":[{"name":"dynokostya","email":"kostya02gl@gmail.com"}],"homepage":"https://github.com/dynokostya/just-works#readme","bugs":{"url":"https://github.com/dynokostya/just-works/issues"},"bin":{"just-works":"bin/cli.mjs"},"dist":{"shasum":"2bff23aab925488d14f58fec4734929c4108fcd4","tarball":"https://registry.npmjs.org/@dynokostya/just-works/-/just-works-1.0.0.tgz","fileCount":46,"integrity":"sha512-L5GAhcXXfSPppH95Al5K+jSQKTfyYXsz8vp6NbF6XiuR/Jj9KKUaf24pR6Neufj8wBjBPPrHxnf/yNFw0v0QqQ==","signatures":[{"sig":"MEQCIHoXYOFvHJ1eXmaEyPEGw2Fp3uaDv0SYFXsfUjNcZcWIAiAhhYiHMhurxiPwf+2oBZkAPH4MphbZ9IvpVV1HhIMJZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":494554},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"d0f1dfbfb47e144130f150814a9d4634889458f2","_npmUser":{"name":"dynokostya","email":"kostya02gl@gmail.com"},"repository":{"url":"git+https://github.com/dynokostya/just-works.git","type":"git"},"_npmVersion":"11.4.2","description":"Drop-in AI agent workflows, coding skills, and prompt standards for Claude Code and OpenAI Codex","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/just-works_1.0.0_1775067979003_0.3369614809862356","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@dynokostya/just-works","version":"1.1.0","keywords":["claude","codex","ai","agents","skills","config"],"license":"Apache-2.0","_id":"@dynokostya/just-works@1.1.0","maintainers":[{"name":"dynokostya","email":"kostya02gl@gmail.com"}],"homepage":"https://github.com/dynokostya/just-works#readme","bugs":{"url":"https://github.com/dynokostya/just-works/issues"},"bin":{"just-works":"bin/cli.mjs"},"dist":{"shasum":"9e79f1d14c2448b0e18d4fc99f32cb8201a04559","tarball":"https://registry.npmjs.org/@dynokostya/just-works/-/just-works-1.1.0.tgz","fileCount":47,"integrity":"sha512-cZRU+n/jThFUwjXe55Q/URGpeD5vmczhwH3/rH9OPul+C/54W4bV3UOBppHzL/h7D/FIFOzrZprOUT5UgMLqsw==","signatures":[{"sig":"MEQCIEujOuzZ02ntswOTMHVKCa//xbkdirtxYuoI48TW3LB9AiBm6WTfGH4q7GDIFS3X/rYvHfM79X0A6uB5R60+hy9/dw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":501295},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"75df1c0502c91adbd195342c7c325b98c3b0e11c","_npmUser":{"name":"dynokostya","email":"kostya02gl@gmail.com"},"repository":{"url":"git+https://github.com/dynokostya/just-works.git","type":"git"},"_npmVersion":"11.4.2","description":"Drop-in AI agent workflows, coding skills, and prompt standards for Claude Code and OpenAI Codex","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/just-works_1.1.0_1775208683005_0.9093305484953476","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@dynokostya/just-works","version":"1.1.1","keywords":["claude","codex","ai","agents","skills","config"],"license":"Apache-2.0","_id":"@dynokostya/just-works@1.1.1","maintainers":[{"name":"dynokostya","email":"kostya02gl@gmail.com"}],"homepage":"https://github.com/dynokostya/just-works#readme","bugs":{"url":"https://github.com/dynokostya/just-works/issues"},"bin":{"just-works":"bin/cli.mjs"},"dist":{"shasum":"a4d430c1aadc2f1e7ba19404e971c26e8e658ff2","tarball":"https://registry.npmjs.org/@dynokostya/just-works/-/just-works-1.1.1.tgz","fileCount":48,"integrity":"sha512-W8SfddffejC8pEc4cvIRUvwbz97gFhx1S8mdgBNC/lskeo2XayZeTbw10DRpY2Lj5AOz90qKiLYwpENiFYeimw==","signatures":[{"sig":"MEUCIQDqVCOpxHsXyoFbLoPnXBdw7+v2CxW7qv4il1VkLCQvRQIgA87Hsijs1KJOEWkpgKCxS4o/Xr2VygfYu947aWKBSCg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":504506},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"b5e7b948df407c1241fc3c1c4098846a6f5dbc70","_npmUser":{"name":"dynokostya","email":"kostya02gl@gmail.com"},"repository":{"url":"git+https://github.com/dynokostya/just-works.git","type":"git"},"_npmVersion":"11.4.2","description":"Drop-in AI agent workflows, coding skills, and prompt standards for Claude Code and OpenAI Codex","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/just-works_1.1.1_1775546765835_0.8365003461092966","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@dynokostya/just-works","version":"1.1.2","keywords":["claude","codex","ai","agents","skills","config"],"license":"Apache-2.0","_id":"@dynokostya/just-works@1.1.2","maintainers":[{"name":"dynokostya","email":"kostya02gl@gmail.com"}],"homepage":"https://github.com/dynokostya/just-works#readme","bugs":{"url":"https://github.com/dynokostya/just-works/issues"},"bin":{"just-works":"bin/cli.mjs"},"dist":{"shasum":"3bbd29290f554fa48b4bdb4ee1a99d609e93ef4f","tarball":"https://registry.npmjs.org/@dynokostya/just-works/-/just-works-1.1.2.tgz","fileCount":65,"integrity":"sha512-fMcXwWjxArWAzgPEdfaufppDrOPXy9hhhvYyCIBitudUKUq1sD1QctuZzf3gnVDKKOoNRBaqJYXIni5hC5HS+g==","signatures":[{"sig":"MEUCIDCULrJzA2k81cuIK8VmybA8vZScZYTp0V2QOgud0xxhAiEApjVCxyunH8LDngSF1PjFzMHrHgkxvUlA4PYIL/zdCBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":556325},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"b000fdb8a2d9bd4e268bb2d8da23ebba82001ad3","_npmUser":{"name":"dynokostya","email":"kostya02gl@gmail.com"},"repository":{"url":"git+https://github.com/dynokostya/just-works.git","type":"git"},"_npmVersion":"11.4.2","description":"Drop-in AI agent workflows, coding skills, and prompt standards for Claude Code and OpenAI Codex","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/just-works_1.1.2_1775653499570_0.24304807623717406","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@dynokostya/just-works","version":"1.1.3","keywords":["claude","codex","ai","agents","skills","config"],"license":"Apache-2.0","_id":"@dynokostya/just-works@1.1.3","maintainers":[{"name":"dynokostya","email":"kostya02gl@gmail.com"}],"homepage":"https://github.com/dynokostya/just-works#readme","bugs":{"url":"https://github.com/dynokostya/just-works/issues"},"bin":{"just-works":"bin/cli.mjs"},"dist":{"shasum":"cdc6a196f478ba4d4af65787c5672b8ec335b352","tarball":"https://registry.npmjs.org/@dynokostya/just-works/-/just-works-1.1.3.tgz","fileCount":71,"integrity":"sha512-OZgIc8qW3wcZLKkbAFTVPy0pYf5PNI9j3cSNp1dF2p7dCDl+y9z1D3THcAm6xl8L+V+TreOyzxzjdAhhmLuGbw==","signatures":[{"sig":"MEYCIQC/xTwxFvoFQPnbexmNy2qwLqoX0m5P0SpsnKWn3unb+wIhAMtkXweu0eX/vD+bBTWVIDgjawSw2uMOFEQqaIZmrPkM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":660117},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"6b74d058657b33234f868b5c53fde7d5f4b80dda","_npmUser":{"name":"dynokostya","email":"kostya02gl@gmail.com"},"repository":{"url":"git+https://github.com/dynokostya/just-works.git","type":"git"},"_npmVersion":"11.4.2","description":"Drop-in AI agent workflows, coding skills, and prompt standards for Claude Code and OpenAI Codex","directories":{},"_nodeVersion":"22.17.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/just-works_1.1.3_1776694556503_0.48810115061105086","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@dynokostya/just-works","version":"1.1.4","description":"Drop-in AI agent workflows, coding skills, and prompt standards for Claude Code and OpenAI Codex","type":"module","bin":{"just-works":"bin/cli.mjs"},"engines":{"node":">=18.0.0"},"keywords":["claude","codex","ai","agents","skills","config"],"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/dynokostya/just-works.git"},"_id":"@dynokostya/just-works@1.1.4","gitHead":"ef80bb514ef303b02f0eff51e89554921d62d9a2","bugs":{"url":"https://github.com/dynokostya/just-works/issues"},"homepage":"https://github.com/dynokostya/just-works#readme","_nodeVersion":"22.17.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-jfIhQJq0fEWRhHK4BUAG8heHITkQVl08lmQR4R3oI3BSPzWq1NR4Cs3gS02r3CxHrYK3gkFlKQPq3sKPsRP+iA==","shasum":"123559444175c168b3bf61a0df4d049f8e6be569","tarball":"https://registry.npmjs.org/@dynokostya/just-works/-/just-works-1.1.4.tgz","fileCount":103,"unpackedSize":916115,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIES46m3xleKdTz3EAN9849eErP2Yf7/z+dxGhmVD29m5AiB3XDJbhnI5hBYIOt5amR363Tf5Wc8bgonS2R96nSmKww=="}]},"_npmUser":{"name":"dynokostya","email":"kostya02gl@gmail.com"},"directories":{},"maintainers":[{"name":"dynokostya","email":"kostya02gl@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/just-works_1.1.4_1782287664766_0.22909199940636826"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-01T18:26:18.906Z","modified":"2026-06-24T07:54:25.006Z","1.0.0":"2026-04-01T18:26:19.192Z","1.1.0":"2026-04-03T09:31:23.197Z","1.1.1":"2026-04-07T07:26:06.038Z","1.1.2":"2026-04-08T13:04:59.779Z","1.1.3":"2026-04-20T14:15:56.729Z","1.1.4":"2026-06-24T07:54:24.902Z"},"bugs":{"url":"https://github.com/dynokostya/just-works/issues"},"license":"Apache-2.0","homepage":"https://github.com/dynokostya/just-works#readme","keywords":["claude","codex","ai","agents","skills","config"],"repository":{"type":"git","url":"git+https://github.com/dynokostya/just-works.git"},"description":"Drop-in AI agent workflows, coding skills, and prompt standards for Claude Code and OpenAI Codex","maintainers":[{"name":"dynokostya","email":"kostya02gl@gmail.com"}],"readme":"# just-works\n\nI am tired of manually prompting Claude Code each time to include all tools, best practices, aggressive language — that's why I created this repo.\n\nDrop-in AI agent workflows, coding skills, and prompt standards for **Claude Code** and **OpenAI Codex**.\n\nJust copy `.claude/` into any project — or install globally — and get pre-configured agents, quality guardrails, and documentation pipelines out of the box.\n\n**`.codex/` works only if you install it globally (only skills folder works per-project).**\n\n## What's Inside\n\n**Lean by default** — `caveman` and the `compressed` output style trim response tokens (filler, hedging, emojis); `minimal-coding` forces least-code solutions. Less context burned, lower cost.\n\n**Full Claude Code fluency** — uses the whole toolset by default: `AskUserQuestion` for structured choices, rich markdown, `TaskCreate` progress tracking, and parallel tool calls — not plain-text walls.\n\n**Context-isolating subagents** — delegates file-type work (`python`, `react`, `swift`, …) to subagents that carry their own context, so the main thread stays lean and focused.\n\n**Agents** — file-type-triggered writers (`python`, `typescript`, `swift`, `csharp`, `react`), plus `prompt-writer`, `diagrammer`, and `ticket-creator`. 9 per provider.\n**Commands** — `project-docs` and `git-sync` (Claude & Codex), `plan-reviewer` (Codex).\n\n**Skills** — coding standards (Python, TypeScript, React, Tailwind, shadcn/ui, Swift, C#, Dart/Flutter), architecture patterns (DDD, feature-driven), model-specific prompt engineering (Claude Opus 4.8 & Fable 5, GPT-5.5, Gemini 3), and behavioral modes (`minimal-coding` for least-code solutions). Applied automatically based on the file type you're editing.\n\n**Security** — `settings.json` blocks agent access to `.env`, `*.pem`, `*.key`, credentials, cloud configs, SSH keys, Terraform state, and databases.\n\n## Installation\n\nInstalls agents, skills, commands, and settings globally to `~/.claude/` and `~/.codex/`. Existing files get backed up automatically.\n\n> **For the best experience, add `--personal`** — installs my full opinionated config instead of the minimal defaults:\n>\n> ```bash\n> curl -fsSL https://raw.githubusercontent.com/dynokostya/just-works/main/bootstrap.sh | bash -s -- --personal\n> ```\n\n### My `--personal` config vs default\n\n`--personal` swaps the minimal `*.default` files for my opinionated config:\n\n| | Default | `--personal` (my config) |\n|---|---|---|\n| Permissions | prompts for everything | `bypassPermissions` + safe read-only allow-list |\n| Security deny-list | empty | blocks reads of `.env`, keys, credentials, lockfiles, build dirs |\n| Model / effort | Claude Code defaults | `best` model + `max` effort (main agent & subagents) |\n| Output style | `default` | `Compressed` (fewer tokens) |\n| Codex | model + basic status line | `danger-full-access`, no approval prompts, MCP servers (Playwright, ClickUp) |\n| Hooks (Claude) | none | Bash command rewriting + completion sounds |\n\n**Two `--personal` hooks need extra setup to work:**\n\n- **`rtk` Bash rewriting** (`.claude/hooks/rtk-rewrite.sh`) rewrites commands to save tokens, but needs [`rtk`](https://github.com/rtk-ai/rtk) ≥ 0.23.0 and `jq` installed. Without them it prints a warning on every Bash call and does nothing — install `rtk`, or delete the `PreToolUse` hook from `settings.json`.\n- **Completion sounds** use `afplay` + `/System/Library/Sounds/Glass.aiff`, which are **macOS-only**. On Linux/Windows the notification hooks fail silently (no sound) — swap `afplay` for your player (`paplay`/`aplay` on Linux), or remove the hook.\n\n### Quick install (recommended)\n\nOne-liner, no Node.js required. Needs `curl` and `tar` (preinstalled on macOS/Linux).\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/dynokostya/just-works/main/bootstrap.sh | bash\n```\n\nWith flags:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/dynokostya/just-works/main/bootstrap.sh | bash -s -- --personal\ncurl -fsSL https://raw.githubusercontent.com/dynokostya/just-works/main/bootstrap.sh | bash -s -- --dry-run\n```\n\nPin to a specific version:\n\n```bash\nJUST_WORKS_REF=v1.1.3 curl -fsSL https://raw.githubusercontent.com/dynokostya/just-works/main/bootstrap.sh | bash\n```\n\nTo update: re-run the same command.\n\n### Via npm\n\nRequires [Node.js](https://nodejs.org/) 18+.\n\n```bash\nnpx @dynokostya/just-works              # default settings\nnpx @dynokostya/just-works --personal   # opinionated settings (permissions, hooks, sounds)\nnpx @dynokostya/just-works@latest       # update\n```\n\n### From source\n\n```bash\ngit clone https://github.com/dynokostya/just-works.git\ncd just-works\n./install.sh            # macOS / Linux\ninstall.bat             # Windows\n```\n\nTo update: `git pull && ./install.sh`\n\n### Options\n\n```bash\n--personal              # opinionated settings (pre-approved commands, hooks, sounds)\n--dry-run               # preview without changes\n--skip-config           # skip settings.json\n--skip-statusline       # skip statusline-command.sh\n--skip-skills-claude    # skip Claude Code skills\n--skip-skills-codex     # skip Codex skills\n--claude-only           # skip Codex\n--codex-only            # skip Claude\n--no-backup             # skip backup prompt (for CI/scripts)\n```\n\n### Codex Azure config\n\nDefault install copies `config.toml.default` → `~/.codex/config.toml` (minimal model config).\nPersonal (my) install copies `config.toml` → `~/.codex/config.toml` (includes MCP servers).\n\nEither way, edit the file — replace `<your-resource-name>` with your Azure OpenAI resource and set your environment variable:\n\n```bash\nexport AZURE_OPENAI_API_KEY=\"your-key-here\"\n```\n\n### MCP for Claude Code\n\nMCP servers are configured per-project, not globally. To set up MCP in your project:\n\n```bash\ncp .mcp.json.default /path/to/your/project/.mcp.json\n```\nOR\n```bash\ncp .mcp.json /path/to/your/project/.mcp.json\n```\n\nRequires `npx` (Node.js) in your PATH.\n\n## Project Structure\n\n```\n.claude/\n  agents/           # Claude Code agent definitions\n  skills/           # Coding and prompting standards\n  commands/         # Multi-step workflows (project-docs, git-sync)\n  output-styles/    # Selectable output styles (compressed)\n  hooks/            # PreToolUse / notification hooks (--personal)\n  settings.json     # Permissions, hooks, env, MCP toggles\n.codex/\n  agents/           # Codex custom agent definitions (TOML)\n  prompts/          # Codex slash commands (plan-reviewer, ...)\n  skills/           # Same standards, mirrored for Codex\n  config/azure/     # config.toml.default + config.toml\n  hooks.json        # Lifecycle hooks (notification)\nbin/cli.mjs         # npx installer\nCLAUDE.md           # Behavioral instructions for Claude Code\nCLAUDE-CHAT.md      # Behavioral instructions for claude.ai chat\nAGENTS.md           # Behavioral instructions for Codex\n```\n\n`.claude/` and `.codex/` are parallel and independent — use one or both.\n\n## Customization\n\nAdd project-specific agents in `.claude/agents/` or `.codex/agents/`. Override skill defaults in your own `CLAUDE.md` or `AGENTS.md`. Extend the deny-list in `.claude/settings.json`.\n\nIf you fork this: skills must be mirrored across both providers (Codex doesn't support `@file` references). Keep instructions model-agnostic.\n\n## License\n\nApache 2.0\n","readmeFilename":"README.md"}