@myduckia/cli
v0.1.0
Published
A rubber-duck CLI that asks questions and never gives direct solutions.
Maintainers
Readme
🦆 My Duck
A CLI rubber duck for developers.
It asks questions.
It never gives solutions.
Ever.
Why?
You don't need another AI that writes code for you.
You need something that makes you think.
My Duck is not an assistant.
It's a thinking partner.
What does it do?
You explain your problem.
It asks questions.
That's it.
No fixes.
No copy/paste code.
No implementation help.
No "here's the solution".
Just better questions.
Demo
$ myduck
You> My API is slow
Duck> What is the current bottleneck you can measure right now?
You> Just give me the fix
Duck> I am a plastic duck. I am not here to give the answer. What did you try already?Install
Local dev
npm linkGlobal install (after publish)
npm install -g @myduckia/cliPrerequisites
Install at least one local provider CLI:
- Claude CLI (
claude) - Codex CLI (
codex)
My Duck only uses provider CLIs installed on your machine.
No API key mode.
No remote backend login mode.
No cloud dependency.
Everything runs locally.
Login
myduck loginThen choose your provider.
My Duck will: - use your local CLI - run it in non-interactive mode - enforce question-only responses
Run
myduckWhen you launch myduck, it automatically starts a local backend daemon
(myduckd) using a Unix socket if needed.
You can override the socket path:
export MYDUCKD_SOCKET="/custom/path.sock"Force a provider:
export MYDUCK_CLI_PROVIDER="claude-cli"Override Claude model:
export MYDUCK_CLAUDE_MODEL="sonnet"Increase timeouts if needed:
export MYDUCK_PROVIDER_TIMEOUT_MS=300000
export MYDUCK_BACKEND_TIMEOUT_MS=310000The Rule (Non-Negotiable)
My Duck must never provide:
- Direct solutions\
- Final copy/paste code\
- Full implementations
Any pull request that turns My Duck into a solution generator will be rejected.
Philosophy
Copy/paste coding makes you weaker.
Instant answers kill deep understanding.
Debugging is thinking.
Explaining your problem clearly often solves it.
My Duck just makes sure you do that part.
Why a duck?
Because a duck never solves your problem.
But explaining it to one usually does.
Contributing
Contributions are welcome.
Allowed: - Better questions - Better CLI UX - Provider improvements - More personality
Not allowed: - Anything that gives direct answers - Anything that generates final code
Keep the duck a duck.
License
MIT
