by zh2408 on 4/19/25, 9:04 PM with 172 comments
by bilalq on 4/20/25, 4:48 AM
The prompt would also maybe be better if it encouraged variety in diagrams. For somethings, a flow chart would fit better than a sequence diagram (e.g., a durable state machine workflow written using AWS Step Functions).
by swashbuck1r on 4/21/25, 11:17 AM
This really shows off that the simple node graph, shared storage and utilities patterns you have defined in your PocketFlow framework are useful for helping the AI translate your documented design into (mostly) working code.
Impressive project!
See design doc https://github.com/The-Pocket/Tutorial-Codebase-Knowledge/bl...
by mooreds on 4/20/25, 2:45 PM
I changed it to use this line:
api_key=os.getenv("GEMINI_API_KEY", "your-api_key")
instead of the default project/location option.and I changed it to use a different model:
model = os.getenv("GEMINI_MODEL", "gemini-2.5-pro-preview-03-25")
I used the preview model because I got rate limited and the error message suggested it.I used this on a few projects from my employer:
- https://github.com/prime-framework/prime-mvc a largish open source MVC java framework my company uses. I'm not overly familiar with this, though I've read a lot of code written in this framework.
- https://github.com/FusionAuth/fusionauth-quickstart-ruby-on-... a smaller example application I reviewed and am quite familiar with.
- https://github.com/fusionauth/fusionauth-jwt a JWT java library that I've used but not contributed to.
Overall thoughts:
Lots of exclamation points.
Thorough overview, including of some things that were not application specific (rails routing).
Great analogies. Seems to lean on them pretty heavily.
Didn't see any inaccuracies in the tutorials I reviewed.
Pretty amazing overall!
by manofmanysmiles on 4/20/25, 12:32 AM
Like at least one other person in the comments mentioned, I would like a slightly different tone.
Perhaps good feature would be a "style template", that can be chosen to match your preferred writing style.
I may submit a PR though not if it takes a lot of time.
by TheTaytay on 4/20/25, 1:33 AM
by fforflo on 4/20/25, 4:05 PM
from ollama import chat, ChatResponse
def call_llm(prompt, use_cache: bool = True, model="phi4") -> str: response: ChatResponse = chat( model=model, messages=[{ 'role': 'user', 'content': prompt, }] ) return response.message.content
by Too on 4/21/25, 5:32 AM
The tutorial on requests looks uncanny for being generated with no prior context. The use cases and examples it gives are too specific. It is making up terminology, for concepts that are not mentioned once in the repository, like "functional api" and "hooks checkpoints". There must be thousands of tutorials on requests online that every AI was already trained on. How do we know that it is not using them?
by chairhairair on 4/19/25, 11:49 PM
by gregpr07 on 4/20/25, 6:10 AM
by esjeon on 4/20/25, 3:14 AM
I think it should be possible to extract some more useful usage patterns by poking into related unit tests. How to use should be what matters to most tutorial readers.
by remoquete on 4/21/25, 6:13 AM
by axelr340 on 4/30/25, 6:07 PM
Here is an example feature map for the Spot robot SDK from Boston Dynamics with 100k lines of code: https://product-map.ai/app/public?url=https://github.com/bos...
by mattfrommars on 4/20/25, 7:33 PM
You built in in one afternoon? I need to figure out these mythical abilities.
I've thought about this idea few weeks back but could not figure out how to implement it.
Amazing job OP
by fforflo on 4/20/25, 4:39 PM
You can tell that because simonw writes quite heavily-documented code an the logic is pretty straightforward, it helps the model a lot!
https://github.com/Florents-Tselai/Tutorial-Codebase-Knowled...
https://github.com/Florents-Tselai/Tutorial-Codebase-Knowled...
by amelius on 4/20/25, 1:33 PM
by mvATM99 on 4/20/25, 7:31 AM
Can see some finetuning after generation being required, but assuming you know your own codebase that's not an issue anyway.
by citizenpaul on 4/21/25, 4:01 AM
by wg0 on 4/20/25, 6:07 AM
Put in postgres or redis codebase, get a good understanding and get going to contribute.
by Retr0id on 4/19/25, 11:44 PM
by kaycebasques on 4/20/25, 7:37 PM
* Previously, it was simply infeasible for most codebases to get a decent tutorial for one reason or another. E.g. the codebase is someone's side project and they don't have the time or energy to maintain docs, let alone a tutorial, which is widely regarded as one of the most labor-intensive types of docs.
* It's always been hard to persuade businesses to hire more technical writers because it's perenially hard to connect our work to the bottom or top line.
* We may actually see more demand for technical writers because it's now more feasible (and expected) for software projects of all types to have decent docs. The key future skill would be knowing how to orchestrate ML tools to produce (and update) docs.
(But I'm also under no delusion: it definitely possible for TWs to go the way of the dodo bird and animatronics professionals.)
I think I have a very good way to evaluate this "turn GitHub codebases into easy tutorials" tool but it'll take me a few days to write up. I'll post my first impressions to https://technicalwriting.dev
P.S. there has been a flurry of recent YC startups focused on automating docs. I think it's a tough space. The market is very fragmented. Because docs are such a widespread and common need I imagine that a lot of the best practices will get commoditized and open sourced (exactly like Pocket Flow is doing here)
by potamic on 4/20/25, 8:34 AM
by stephantul on 4/20/25, 6:57 AM
by theptip on 4/20/25, 4:07 PM
by badmonster on 4/19/25, 9:29 PM
by iamsaitam on 4/25/25, 5:53 AM
PS: The generated "design documents" are 2k+ lines long. This seems like a great way to exceed quotas.
by 1899-12-30 on 4/21/25, 5:15 PM
by ganessh on 4/20/25, 7:27 AM
by nitinram on 4/23/25, 1:00 AM
by lummm on 4/22/25, 12:08 AM
by bionhoward on 4/20/25, 5:22 PM
Looks inside
REST API calls
by pknerd on 4/20/25, 8:19 AM
by chbkall on 4/20/25, 4:02 AM
by zarkenfrood on 4/20/25, 4:29 AM
by android521 on 4/20/25, 4:21 AM
by lastdong on 4/21/25, 9:19 AM
by touristtam on 4/20/25, 4:02 PM
by thom on 4/20/25, 2:45 PM
by trash_cat on 4/20/25, 1:50 PM
by orsenthil on 4/20/25, 4:08 PM
by polishdude20 on 4/20/25, 4:58 PM
by andrewrn on 4/20/25, 4:50 AM
by gbraad on 4/21/25, 12:52 AM
by throwaway314155 on 4/20/25, 1:51 AM
by bdg001 on 4/20/25, 9:46 PM
Thanks buddy! this will be very helpful !!
by dangoodmanUT on 4/20/25, 3:30 PM
by andybak on 4/20/25, 5:54 PM
It seems a trifle... overexcited at times.
by las_nish on 4/20/25, 4:27 PM
by rtcoms on 4/22/25, 1:04 PM
by anshulbhide on 4/20/25, 10:40 AM
by souhail_dev on 4/20/25, 2:21 PM
by lasarkolja on 4/20/25, 5:28 PM
by CalChris on 4/20/25, 1:47 AM
by throwaway290 on 4/20/25, 8:55 AM
I wonder why all examples are from projects with great docs already so it doesn't even need to read the actual code.
by firesteelrain on 4/20/25, 12:15 PM
by saberience on 4/20/25, 10:19 AM
If you trained a model from scratch to do this I would say you "built an AI", but if you're just calling existing models in a loop then you didn't build an AI. You just wrote some prompts and loops and did some RAG. Which isn't building an AI and isn't particularly novel.
by mraza007 on 4/20/25, 6:32 AM
With the rise of AI understanding software will become relatively easy
by chyueli on 4/20/25, 1:45 PM
by lionturtle on 4/20/25, 2:51 AM
by ryao on 4/19/25, 10:53 PM
by istjohn on 4/20/25, 2:23 PM
# Use the Session as a context manager
with requests.Session() as s:
s.get('https://httpbin.org/cookies/set/contextcookie/abc')
response = s.get(url) # ???
print("Cookies sent within 'with' block:", response.json())
https://the-pocket.github.io/Tutorial-Codebase-Knowledge/Req...