Thank you also to @alexisgallagher and @jeremyphoward for providing great and early feedback on this blog post.
Huge thanks to @jeremyphoward and @HamelHusain for creating ghapi, which proved that auto-generated SDKs can be better than hand-written ones. FastStripe is our proof that this works beyond just GitHub. Stay stuned for more interesting release around this idea 😏
Want the full technical details? The blog post dives deep into how we built FastStripe: [link to blog post]
FastStripe is part of @answerdotai's mission to use AI to benefit humanity. Like GE with electricity, we're creating thousands of AI apps to discover what AI is truly useful for. To do that, we need to eliminate friction in app development, which is why I created FastStripe.
Ready to try it? `pip install faststripe` then:
We version FastStripe to match Stripe's official API versions. Version `2025.05.28.0` = Stripe's May 28th API + our convenience methods. We increment the last part whenever we add new convenience methods. Your code stays stable, you control upgrades. No surprise breaking changes.
The real magic happens in your editor. Every method knows its parameters and can tell your IDE about them. Documentation flows directly from Stripe's specification into your development environment.
Here's what makes it special about these convenience methods: when you call something like `sapi.one_time_payment()`, FastStripe handles the product/price creation automatically. But it uses the same auto-generated methods you have access to.
FastStripe gives you two things:
1) Every Stripe endpoint with perfect IDE integration
2) High-level methods for common patterns.
Want full control? Use the complete API.
Want simplicity? Use the convenience methods.
I learned this approach from @jeremyphoward and @HamelHusain's awesome ghapi library for GitHub. Same principle: let the API document itself. If it works for GitHub's massive API, why not Stripe?
ghapi.fast.ai/
The key insight: Stripe publishes a comprehensive OpenAPI spec describing their entire API 🤓 . Instead of manually writing wrapper functions, we generate the perfect SDK automatically from Stripe's own specification. Always current, always complete.
FastStripe eliminates the friction between you and Stripe's excellent API. When you type `sapi.customers.post(` your IDE shows every parameter with descriptions. No more diving through documentation. Here's the full story:
www.answer.ai/posts/2025-...
At @answerdotai, we integrate @stripe into lots of projects. Every time, I found myself doing the same dance: create product, create price, create checkout session. Then hunting docs for parameters for each. So we built FastStripe, a self-documenting Stripe SDK that's easy to use!
🚀 ShellSage 0.1.0 has arrived, much to the relief of shell-challenged humans everywhere!
Introducing sagent mode: now you can manipulate files by simply asking instead of learning actual commands.
pip install shell-sage and embrace your laziness with ssage --mode agent today!
bsky.app/profile/ncoo...
🎉 ShellSage 0.0.8 is now live!
New features:
• Query logging to SQLite using `--log` flag (because who doesn't love a good paper trail?) 🗃️
• Better tmux history handling (for when your terminal has an existential crisis) 🛠️
Get it now: pip install shell_sage
With @bclavie.bsky.social and @ncoop57.bsky.social, we tried to answer two questions:
- Can an instruction-tuned ModernBERT zero-shot tasks using the MLM-head?
- Could we then fine-tune instruction-tuned ModernBERT to complete any task?
Detailed answers: arxiv.org/abs/2502.03793
Above announcement was generated with shell-sage's sassy mode 😅
🤖 ShellSage v0.0.7
What's new? (besides our growing disdain for user error)
• Added --v flag because apparently you need to know these things
• Fixed config issues because reading docs is hard
• Better tmux support (you're welcome)
Upgrade your terminal's IQ:
`pip install shell-sage`
If you wanna try shell sage out yourself, checkout the repo: github.com/AnswerDotAI/...
Had another magical moment with shell sage! I was fixing a repo issue and asked shell sage for the issues. Then used my quick commit alias (which uses shell sage), and it automatically added “Resolves #22” to the commit since it could see them in my terminal! 🤓🤓
Glad you like it 🤓
bsky.app/profile/ncoo...
You can do the same with PRs too!
Try out this alias:
```
alias pr='git diff main | ssage --c please generate a PR title and body for these changes. Make sure to use the github cli'
```
🤓🤓🤓
Found an amazing new usecase for shellsage's command mode: autogenerating git commits 🤓!
I aliased `qc` to `git diff --cached | ssage --c please generate a concise git commit for these changes` and shellsage will enter the command I need with a great commit msg!
🎉 ShellSage v0.0.6 is now available!
New features:
• Add new command mode for automatically inserting the correct command into your terminal
• Add Support for OpenAI Compatible Providers
Various bugs squashed too!
github.com/AnswerDotAI/...
🎉 ShellSage v0.0.6 is now available!
New features:
• Add new command mode for automatically inserting the correct command into your terminal
• Add Support for OpenAI Compatible Providers
Various bugs squashed too!
github.com/AnswerDotAI/...
Thanks to my two co-leads: @nohtow.bsky.social , @bclavie.bsky.social , & the rest of our stacked author cast: @orionweller.bsky.social, Oskar Hallström, Said Taghadouini, Alexis Gallagher, Raja Biswas, Faisal Ladhak, @tomaarsen.com , @ncoop57.bsky.social , Griffin Adams, @howard.fm , & Iacopo Poli
Interesting use of Shell Sage to see all of the panes that helped me out today. Had two panes: one for setting up Caddy configuration, and one for running a FastHTML app. Was getting a 303 error that I didn't understand, and so asked Shell Sage what was happening and gave it the entire context🤓