Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/arminfriedl_claude-shell.json
T

1 line
6.0 KiB
JSON

{"repo": "arminfriedl/claude-shell", "files": {"README.md": {"8e9e7e22b6fab50e19b293d1ebcf435ad937a41f": {"t": 1785674407.7175682, "n": 5786, "h": "3dc4521efc06e0b8", "c": "> [!WARNING]\n> Claude is now a proper part of the `chatgpt-shell`\n> (https://github.com/xenodium/chatgpt-shell) package.\n>\n> This is likely the last version of `claude-shell` that will be published\n> before this repository is archived. Please migrate over to `chatgpt-shell` and\n> let's concentrate our efforts there ;)\n\n# claude-shell\n\n![GitHub License](https://img.shields.io/github/license/arminfriedl/claude-shell)\n[![MELPA](https://melpa.org/packages/claude-shell-badge.svg)](https://melpa.org/#/claude-shell)\n![Static Badge](https://img.shields.io/badge/Emacs-29.1-blue)\n\nAnthropic's [Claude](https://www.anthropic.com/claude) integration in Emacs\nbased on [`shell-maker`](https://github.com/xenodium/chatgpt-shell/).\n\n<div align=\"center\">\n\n| ![Claude Monet Painting Claude Frollo On A Terminal](img/claude-claude-small.jpg) |\n|:-----------------------------------------------------------------------------------------------------------------:|\n| *Slightly disturbing painting of Claude Monet painting Claude Frollow on a terminal* |\n\n</div>\n\n`claude-shell` provides access to all Claude 3 models (Haiku, Sonnet and Opus).\n\nThe most interesting of which is probably Haiku which provides near instant\nanswers while still being of good quality. Similar in speed to Kagi's FastGPT\nwhile providing subjectively better answers.\n\nMeanwhile Opus and ChatGPT seem to fight for the crown of the best foundational\nmodel in general, but they tend to be sluggish enough to break one's flow.\n\nSonnet is somewhere in the middle.\n\n## Features\n\n![claude-shell usage](img/usage.gif)\n\n- Chat with Claude in a dedicated Emacs buffer\n- Switch Claude models\n- Switch system prompts and load more [awesome\n prompts](https://github.com/f/awesome-chatgpt-prompts)\n- Response streaming\n- Syntax highlighting\n\n## Installation\n`claude-shell` needs an API token from Anthropic. You can generate one in your\naccount https://console.anthropic.com/settings/keys. This must be set to\n`claude-shell-api-token` either as string or a function to fetch the token.\n\n``` elisp\n;;; Set API token directly as a string\n(setq claude-shell-api-token \"sk-ant-api03-your-token\")\n\n;;; Fetch API token from `auth-source` (e.g. .authinfo.gpg)\n(setq claude-shell-api-token (lambda () (auth-source-pick-first-password :host \"api.anthropic.com\")))\n```\n\n### Manual\n\n1. Install `shell-maker` from https://github.com/xenodium/chatgpt-shell/\n2. Clone the repository and evaluate `claude-shell-fontifier.el` and\n`claude-shell.el` in Emacs. \n3. Then set the `claude-shell-api-token` variable to your API token. You can\n generate an API token in your Anthropic account settings:\n https://console.anthropic.com/settings/keys\n\n### `package.el`\n`claude-shell` is in [Melpa](https://melpa.org/#/claude-shell) and so installing\nvia the built-in `package.el` is as simple as setting up Melpa [as package\nsource](https://melpa.org/#/getting-started).\n\nThen you can use `M-x package-refresh-contents` and `M-x package-install` to\ninstall `claude-shell`.\n\n### `straight.el` and `use-package`\n\n`claude-shell` can easily be installed with\n[straight.el](https://github.com/radian-software/straight.el) and\n[use-package](https://github.com/jwiegley/use-package). \n\nIf you have Melpa in your [package sources](https://melpa.org/#/getting-started)\nalready you can just install and configure the package as usual:\n``` elisp\n(use-package claude-shell\n :straight (claude-shell :type git :host github :repo \"arminfriedl/claude-shell\")\n :config\n (setq claude-shell-api-token \"sk-ant-api03-your-token\"))\n\n```\n\nIn case you don't have and don't want to add Melpa to your package sources you\ncan also install it directly from source:\n``` elisp\n(use-package claude-shell\n :straight (claude-shell :type git :host github :repo \"arminfriedl/claude-shell\")\n :config\n (setq claude-shell-api-token \"sk-ant-api03-your-token\"))\n\n```\n\n### Doom Emacs\n\nIn your `package.el` add\n\n``` elisp\n(package! claude-shell\n :recipe (:host github :repo \"arminfriedl/claude-shell\"\n :files (\"claude-shell.el\" \"claude-shell-fontifier.el\")))\n```\n\nIn your `config.el` add\n\n``` elisp\n(use-package! claude-shell\n :config\n (setq! claude-shell-api-token \"sk-ant-api03-your-token\"))\n```\n\n## Usage\n\nTo start a Claude Shell session, run:\n```\nM-x claude-shell\n```\n\nThis will open a new buffer where you can interact with Claude. Type your\nqueries and press `Enter` to send them to the AI assistant.\n\nTo swap the system prompt press `C-x C-s` in the \\*claude\\* buffer, or call:\n```\nM-x claude-shell-swap-system-prompt\n```\n\nThis allows you to choose from a list of predefined system prompts or set a custom one.\n\nYou can load more prompts with\n```\nM-x claude-shell-load-awesome-prompts\n```\n\nTo swap Claude models press `C-x C-v` in the \\*claude\\* buffer, or call:\n\n```\nM-x claude-shell-swap-model\n```\n\n## Customization\n\nYou can customize various aspects of Claude Shell using the following variables:\n\n- `claude-shell-api-token`: Your Anthropic API token.\n- `claude-shell-model`: The Claude model to use (default: \"claude-3-haiku-20240307\").\n- `claude-shell-system-prompts`: A list of predefined system prompts.\n- `claude-shell-system-prompt`: The currently active system prompt (default: \"Programming\").\n- `claude-shell-streaming`: Whether to stream responses or wait for the full response (default: nil).\n- `claude-shell-after-command-functions`: An abnormal hook invoked after each command, allowing for custom post-processing.\n\n## Contributing\n\nContributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request on the GitHub repository.\n\n## License\n\nThis package is released under the MIT License. See the `LICENSE` file for more information.\n\n\n"}}}}