yleflour Profile Banner
Yann Leflour Profile
Yann Leflour

@yleflour

Followers
586
Following
337
Media
128
Statuses
823

Engineer and maker at 💜 - Exploring software craftsmanship with AI @ https://t.co/nDRVfj9Zmm - Writing about it @ https://t.co/2cgElslHSE

Paris
Joined February 2013
Don't wanna be here? Send us removal request.
@yleflour
Yann Leflour
8 months
So glad for the opportunity to talk with @fabriceb about this amazing journey of turning 10 months of work into 4. Thanks to @RNLConf for hosting us and to @DelphineBugner for this amazing sketch.
@DelphineBugner
Delphine Bugner
8 months
@fabriceb⁩ and ⁦@yleflour⁩ built an AI tool to go to React Native - a most interesting journey nowadays!
1
1
6
@yleflour
Yann Leflour
4 months
When I'm hired to enable a team with AI tools what I'm actually paid for is asking the right questions to reverse engineer how the team works. When I have that, building the tools is the easy part. Also why I fear that the agents trend will do a lot of harm to craftsmanship.
0
0
0
@yleflour
Yann Leflour
5 months
An upside of LLMs is that, just by using them, people will get better at providing instructions and the right context. The downside is that they'll likely stay to get frustrated when you take over 1mn to respond.
0
0
0
@yleflour
Yann Leflour
7 months
There are more libraries I've built @ Make sure to check out "@synstack/fs" as well. I've been using them over the last 6 months to help teams succesfully triple their velocity during software migrations and they'll keep on getting better.
0
0
1
@yleflour
Yann Leflour
7 months
4️⃣ Prompt chaining. Prompt scripting is mostly async, I disliked writing await and Promise.all all the time. So, the message() param can be a Promise<Array<Message>> or an Array<Promise<Message>>, making it simpler and cleaner to build out your prompt and chain agents
Tweet media one
1
0
0
@yleflour
Yann Leflour
7 months
3️⃣ Template strings. I hate the base JS template string as it breaks indentation.So I wrote a separate library to fix that. 🔶 Trims text and removes extra indentation.🔶 Auto-resolves promises.🔶 Arrays to separate lines.🔶 Propagates nested indentation.
1
0
0
@yleflour
Yann Leflour
7 months
2️⃣ Type safety. There's type safety at every level:.🔶 Tool definitions, filters, & outputs.🔶 Missing LLM parameters trigger an error.🔶 Message template string values are type-safe as well. Even my test coverage is mostly type testing for now.
Tweet card summary image
github.com
Libraries for immutable and chainable LLM compatible scripting - pAIrprogio/synscript
1
0
0
@yleflour
Yann Leflour
7 months
1️⃣ Immutability + Chaining. I've always been a fan of superagent's clean immutable and chainable API allowing me to build upon a base instance of query. This was my target to replicate, but for LLMs.
Tweet card summary image
github.com
Ajax for Node.js and browsers (JS HTTP client). Maintained for @forwardemail, @ladjs, @spamscanner, @breejs, @cabinjs, and @lassjs. - forwardemail/superagent
1
0
0
@yleflour
Yann Leflour
7 months
This allows me to benefit from the countless integrations and tons of contributions to AI SDK while keeping my target level of developer experience. Here's a quick tour of some of the features:.
1
0
1
@yleflour
Yann Leflour
7 months
For v1, I wrote my own abstraction layer. While I love the chainable + immutable + string-templates + type-safety combo, writing my own adapters was too time consuming. So after using @mattpocockuk Evalite, I kept my approach but switched the engine to ai sdk as a peer dependency
Tweet media one
1
0
0
@yleflour
Yann Leflour
7 months
Finally released synstack/synscript v2 with the #llm package migrated to @vercel.com's AI SDK 🎉. Llm library is now a chainable, immutable, and type-safe wrapper over the ai sdk. If you want to improve your prompting DevX in Typescript, look no further.
1
0
3
@yleflour
Yann Leflour
7 months
Got my first gaslighting from #Devin 🎉. It introduced a regression by overstepping its objective and removing some linter ignore comment. Then claimed that the issue was pre-existing. But "learned" from it. I feel like that's not going to be the only occurence
Tweet media one
Tweet media two
Tweet media three
0
0
0
@yleflour
Yann Leflour
7 months
Not much else to say on this session, I will try out having it build new features, testing, and more in following runs. Being solo on the project right now, the investment feels "good" for now but we'll see how that holds.
0
0
0
@yleflour
Yann Leflour
7 months
What I liked on this session:. - It handled a failing pipeline and identified some wip code that was failing the tests.- It asked me how I wanted to deal with it.- It built knowledge from my answer.- It's a one shot task, writing the prompt myself would have been bothersome
Tweet media one
Tweet media two
Tweet media three
1
0
0
@yleflour
Yann Leflour
7 months
2nd #Devin Pull Request merged.- "Set up Github CI".- Cost 10$.- Time it took me for instructions: 2mn. Still trying to evaluate Devin's value, so let's go through this. .
Tweet card summary image
github.com
Add GitHub Actions workflow for CI Installs dependencies and runs yarn build Runs test:lint, test:types, test:unit from root Verified that test:types and test:unit failures cause CI to exit with c...
1
0
0
@yleflour
Yann Leflour
7 months
So I'll be trying out other tasks and workflows.Want to stretch that thing to its limits. Only 238.84 ACUs (Devin's opaque game like currency) to go. It's going to be fun 🫠.
0
0
0
@yleflour
Yann Leflour
7 months
On the other side:. - This PR cost me 16$ which can be negligible or not depending on your situation.- The tool feels really overkill for something which could have been solved with a few good prompts on my side.- Devin is still an awful name.
1
0
0
@yleflour
Yann Leflour
7 months
First of all, the key feature of Devin is its asynchronousity.It's awesome to ask for something, leave it, and get a clean PR to review. Also, the prompting done on Cognition's side looks solid.Even if the task was small to start with, I was satisfied enough to merge the PR.
1
0
0
@yleflour
Yann Leflour
7 months
Of course I've shelled out the 500$ to try out Devin. Although I my own approach of AI for dev is about enablement rather than replacement, it's important to check out what the other side is doing. Here's Devin's 1st PR and a few thoughts about it.
Tweet card summary image
github.com
Add comprehensive documentation for @synstack/fs package including: Complete README with examples and installation instructions JSDoc comments for all classes and methods Usage examples and type i...
1
0
0
@yleflour
Yann Leflour
7 months
But there's a fine line to temper with. My tooling scales very well and is flexible, but onboarding is not as straightforward as Cursor's. Still, I've found it easier to add new abstraction layers to simplify usage than go the other way around.
0
0
0
@yleflour
Yann Leflour
7 months
And to make it as debuggable as possible, I've made every npm library available as open source. The Reforge VSCode extension only acts as a runtime engine, facilitating usage and debugging of LLM workflows commited along the codebase.
Tweet card summary image
github.com
Libraries for immutable and chainable LLM compatible scripting - pAIrprogio/synscript
2
0
1