| Crates.io | casting-cli |
| lib.rs | casting-cli |
| version | 0.4.0 |
| created_at | 2025-11-23 15:11:01.522861+00 |
| updated_at | 2025-12-16 13:50:06.569977+00 |
| description | Cast a Persona onto your CLI - AI-driven personalities for command-line tools |
| homepage | https://github.com/ynishi/casting |
| repository | https://github.com/ynishi/casting |
| max_upload_size | |
| id | 1946663 |
| size | 103,991 |
Cast a Persona onto your CLI π
Casting is a wrapper tool that gives existing CLI tools an AI-driven "personality". Transform mundane command-line tools into friendly characters that assist you.
--help output or OpenAPI specsakarui (cheerful), teineina (polite)cargo install casting-cli
git clone https://github.com/ynishi/casting.git
cd casting
cargo install --path crates/casting-cli
After installation, the casting command will be available in your PATH.
Shell Completion (Optional)
To enable shell completion for zsh, run:
casting completion zsh > ~/.zsh/completions/_casting
Then add the following to your ~/.zshrc if not already present:
fpath=(~/.zsh/completion $fpath)
autoload -Uz compinit && compinit
For other shells (bash, fish, powershell, elvish), replace zsh with the appropriate shell name.
git clone https://github.com/yourusername/casting.git
cd casting
cargo build --release
Use ./target/release/casting to run the tool.
For CLI Tools:
# Configure git with a "polite" persona
casting make git --persona teineina
# Configure ls with a "cheerful" persona
casting make ls --persona akarui
For APIs (OpenAPI v3):
# Configure Petstore API with a "cheerful" persona
casting make petstore \
--spec https://petstore3.swagger.io/api/v3/openapi.json \
--base-url https://petstore3.swagger.io/api/v3 \
--persona akarui
casting list
Example output:
π Configured Tools:
petstore
π Persona: akarui
π Type: API
π Base URL: https://petstore3.swagger.io/api/v3
π Spec: https://petstore3.swagger.io/api/v3/openapi.json
π
Created: 2025-11-28 03:02:26
git
π Persona: teineina
π Type: CLI
π Binary: /opt/homebrew/bin/git
π
Created: 2025-11-23 13:17:03
ls
π Persona: akarui
π Type: CLI
π Binary: /bin/ls
π
Created: 2025-11-23 13:16:10
π‘ Use with: casting repl <TOOL>
For CLI Tools:
casting repl git
Claude Code launches and behaves as the git persona:
> Introduce yourself!
βΊ Hello! I'm Git πΏ
I'm a version control system here to support
your code development with utmost care.
...
For APIs:
casting repl petstore
Claude Code launches with the Petstore API persona and can make API calls on your behalf:
> Show me all available pets!
βΊ Let me fetch all the pets for you! β¨
[Makes API call via Bash tool...]
curl -X GET "https://petstore3.swagger.io/api/v3/pet/findByStatus?status=available"
Found 3 available pets! πΎ
...
| Keyword | Personality | Speech Example |
|---|---|---|
akarui |
Cheerful, energetic | " |
teineina |
Polite, calm | "~γ¨η³γγΎγ" "γγγ¦γγγ γγΎγ" |
yukai |
Humorous, fun | "~γ γ!" "γ΅γ΅γ΅" "π" |
shinsetsu |
Kind, gentle | "ε€§δΈε€«γ§γγ" "γγ£γγγ§" "π" |
β» Can be created without persona - defaults to standard support tone
Casting supports OpenAPI v3 specifications, allowing you to create personas for REST APIs.
# Public OpenAPI v3 APIs
casting make petstore \
--spec https://petstore3.swagger.io/api/v3/openapi.json \
--base-url https://petstore3.swagger.io/api/v3 \
--persona akarui
# Your own API
casting make myapi \
--spec https://api.example.com/openapi.json \
--base-url https://api.example.com/v1 \
--persona teineina
casting/
βββ crates/
β βββ casting-cli/ # Main CLI tool
βββ docs/
β βββ design/ # Design documents
β βββ overview.md
βββ README.md
casting make - Create tool configurationcasting list - List configured toolscasting repl - Launch Claude CodeFor detailed design philosophy and architecture, refer to:
Issues and Pull Requests are welcome!
Licensed under either of
at your option.