Perfect AI development setup for any programming language with Sonnet 3.5 and Claude Projects

Поделиться
HTML-код
  • Опубликовано: 15 окт 2024

Комментарии • 95

  • @runs9613
    @runs9613 4 дня назад

    great contribution!! And I feel no one else can answer this question better than you.
    Its has been two months, what are the alternatives you see now in comparison to proposed package?
    is ai-digest the only package that does this job better?

    • @StanislavKhromov
      @StanislavKhromov  2 дня назад +1

      Thanks for the feedback! Aside from the Claude Projects workflow from this video (which I still use every day and have great success with), two new tools that have been released since this video are Aider and Cline (aka Claude Dev). There are upsides with these tool (more automated) but also downsides (harder and more expensive to add docs and the whole context).
      I am working on a video comparing the pros and cons of these tools, if that sounds interesting, feel free to subscribe! ☀

  • @dr.mikeybee
    @dr.mikeybee 2 месяца назад +40

    Be careful. Claude will remove features if you aren't careful. Make sure your system message says not to remove any features as it makes new edits.

    • @jaysonp9426
      @jaysonp9426 2 месяца назад

      Yep that's the most frustrating. I'm literally building a "better artifacts" project on GitHub to account for things like this

  • @wingsaber629
    @wingsaber629 2 месяца назад +8

    Holy damn, I've been using Claude for code snippets and was wondering how I'd upload an entire project base. BRAVO! Will try your ai-digest package. Thank you

  • @danielmayo2
    @danielmayo2 2 месяца назад +5

    Glad to see someone using Claude to develop something more than a basic landing page

    • @morespinach9832
      @morespinach9832 2 месяца назад

      Claude doesn’t do well with a basic landing page b

  • @meera_datey
    @meera_datey 2 месяца назад +4

    The script npx ai-digest is amazing. Thank you!

  • @awesomerks1918
    @awesomerks1918 2 месяца назад +1

    A much needed tutorial!
    Loved how you brought a clear concept about ai development pathways.
    But I feel we still need an in-depth knowledge of programming to actually build something complex and functional.
    Hope you can do another video showing how to use ai for dummies to create and develop a fully functional webapp.
    Thanks again!
    (this would be particularly helpful for entrepreneurs like me who has very elementary knowledge about programming but are passionate about developing own web apps!)

  • @pauek
    @pauek 2 месяца назад +6

    Very interesting! Nice video! The RUclips standard is going up quickly! Being your 6th video it is great. Some parts could be edited to make it keep the pace (and some I would explain in more detail, at least I got lost). But so useful.

  • @mpfiesty
    @mpfiesty 2 месяца назад +2

    I am so happy I found this video. This is exactly what I was looking for.

  • @jaysonp9426
    @jaysonp9426 2 месяца назад +5

    I have an open source project for this im building rn too.
    Some differences:
    1. It uses the API
    2. It uses GPT4o mini as a semantic router to go through your codebase and create enriched metadata
    3. When you ask a question about your project, Gpt4o mini finds the actual files that need to be included in the prompt.
    4. Claude gets a prompt with a bunch of customized preferences and the complete code for only the files it needs to know about.
    Since GPT4o is mapping your code base Claude is getting a complete control flow of your code base so it knows exactly what functions call to other functions in other scripts.

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад +1

      Sounds cool, sort of like embeddings but with GPT4o mini. How do you create enriched metadata continuously as you add and remove files? Does the tool run in the background? If you share a link I'd be happy to check it out.

    • @jaysonp9426
      @jaysonp9426 2 месяца назад +2

      @@StanislavKhromov absolutely. I tried to put the project name but I think the RUclips algorithm thinks I'm promoting lol. It's on a famous website that has coding projects and called Better-Artifacts lol.
      To answer your question:
      1. The user selects a folder in the beginning.
      2. We copy the folder to the local server folder (to maintain the structure and contents)
      3. Then each file is hashed.
      4. When you make changes on the codebase you press the update button and it compares hashes to see what actually needs updated.
      5. The files that need updated are sent to GPT4o mini to re-enrich

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад

      @@jaysonp9426 Thanks, it sounds super cool. I think I found it, looking forward to when the README is updated with setup instructions. 🙇

    • @jaysonp9426
      @jaysonp9426 2 месяца назад +1

      @@StanislavKhromov sweet! I'll come back here and comment when it's ready. Hoping to get the first phase done tonight or tomorrow

    • @jaysonp9426
      @jaysonp9426 2 месяца назад +2

      ​​@@StanislavKhromov should be working for testing. Keep in mind, it's 2 days old and barely functional :P
      I haven't pushed the update for an .ai_ignore file like you have yet so I wouldn't try to feed it a large project yet until that's pushed...unless you want Gpt4o mini chomping through your node_modules lol

  • @benedictsmith2415
    @benedictsmith2415 2 месяца назад +2

    Thanks for ai-digest! Initial testing today, I've uploaded my small codebases on claude, perplexity and gpt-4o (without any pro subscriptions), looking at simpler repos that mostly contain notebooks and accompanying python utilities. It works! Claude was most helpful, whilst gpt-4o seemed less "into" the idea. After a longer session, both perplexity and gpt4o returned a json version of a notebook under review and it seemed tricky to "unsteer" this behavior. Vi tackar ifrån Sjömarken....

  • @markasena
    @markasena 2 месяца назад +3

    your ai-digest is awesome! also did the svelte 5 docs claude now rarely hallucinates with it.

  • @blarvinius
    @blarvinius Месяц назад

    Thanks! I will definitely give ai-digest a try tomorrow! I was doing all of that manually - copying codebase into project knowledge text files. It was exhausting work. 🤖🦕👽

  • @deucebigs9860
    @deucebigs9860 Месяц назад

    Another great video! Thanks algorithm and Stanislav!

  • @science_mbg
    @science_mbg 2 месяца назад

    thanks a lot , very useful. I also added --ignore function in my REPO because I didn't know how to submit in yours. But superuseful, Thanks a lot, now I also got claude pro to try these extra codebase option.

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад +1

      Hi, you can use the .aidigestignore file to ignore parts of your project. You are welcome to create an issue on GitHub if you still have issues:
      github.com/khromov/ai-digest

  • @sjkba
    @sjkba 2 месяца назад +1

    Interesting video. I like the idea of putting the Svelte docs into the project context. Have you looked at Cursor at all? I find having to copy paste changes annoying and Cursor helps with that (but then you don't have the project context...)

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад +1

      Hi, thanks for your comment! You can use Cursor in a similar workflow by using the "long context chat" feature and referencing @Codebase. However, because the API has no memory you have to do this for almost every message and it gets expensive and also you might be rate limited due to number of tokens.

  • @cuentadeyoutube5903
    @cuentadeyoutube5903 2 месяца назад

    I’ll definitely use your script to upload my project to Claude. Some thoughts:
    * we need a better flow to move data back and forth between the IDE and Claude. I hope Anthropic exposes a projects API at some point. That way we can integrate the ide with the project.
    * you can always try to request diff files instead of having to fish where the diffs are at or have to request context consuming large files
    * maybe pre processing docs to produce a condensed version that is AI friendly, so that you don’t consume your project space. The largest the project context, the faster you run out of quota. You were already running out of messages. On the flip side, this does timebox your work so that could be a good thing for personal projects.
    * developers are not at risk yet. This workflow would be near impossible if you didn’t know programming or the framework.
    * one extra instruction I like to add to the project is to make it output the response in a tutorial like way. So that it teaches me or reminds me of what to do whenever there is a new concept or feature. It is a good balance between just copy pasting and having to do it yourself. I want to avoid my knowledge to degrade due to use of this.
    * one thing it would be interesting to try for larger projects is adding an overview description of the project (what files are available, what do they have) and instruct Claude to request full source code when needed.

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад +1

      Hey, thanks for your thoughtful comments!
      I find asking Claude to give you the full file back is better than asking it to write a diff, you might end up with 10+ diffs in complex projects which takes a long time to paste in.
      Regarding condensed docs version, this can be hard without omitting important sections. I don't find the limit particularly problematic, since you have the whole codebase and put care into your prompts you can get a lot done in a single prompt. If I need to ask something not requiring the project context I'll use a frontend like Jan or Msty and connect to Anthropic API directly.
      PS. Maybe Anthropic will change this in the future, but right now the rate limits between a 100% filled project context and a no-context chat are very similar, maybe 15 messages for the first and 25 for the latter. So loading up the context is highly efficient message-wise.

  • @TrejonEdmonds
    @TrejonEdmonds 2 месяца назад

    This is a game-changer for developers.

  • @GatienB
    @GatienB 2 месяца назад +1

    Huge gg for this ! I've tried with a custom gpt and it's really bad tbh. Might have to switch to claude tbh

  • @yurijmikhassiak7342
    @yurijmikhassiak7342 2 месяца назад +2

    Hey, thanks for sharing. Did you try similar workflow with cursor AI? I find it works better if you tag specific files you need in specific task than all codebase. Also you can ask same question other LLMs if you don't like the answer. Sometimes claude is better, sometimes gpt.

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад +3

      Thanks you for your comment! I have tried Cursor, both the normal RAG version with embeddings and their new "long context" chat feature where you can upload the whole codebase. Since Cursor uses the API the chat gets very expensive quickly because you pay for the whole codebase tokens for every message. I find the convenience of Projects and full code recall easier than having to remember which files to include in every message, but you should use the workflows that works best for you!

  • @NghiaPham-f7z
    @NghiaPham-f7z 2 месяца назад

    It's amazing sir, thank you for your idea and your amazing package

  • @liamadsr
    @liamadsr 2 месяца назад +1

    It would be really helpful if you could create a command to update the context file automatically by providing the chat ID or something similar. This way, every once in a while, when you've made changes in multiple files, you can delete the old file from context and update it with a new one.

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад

      Thanks for the feedback! Unfortunately Claude Projects does not have an API. Perhaps a web extension can be made to automate updating the codebase file.
      For now, as long as you're in the same chat Claude will remember the state of your project even if you ask it to update certain files. So you only have to update codebase when starting a new chat!

    • @liamadsr
      @liamadsr 2 месяца назад +1

      @@StanislavKhromov dang! I’m sure they’ll an API for it sooner than later. I would say you might be able to do that now with ChatGPT but once you start using Claude for coding ChatGPT seems silly because it’s so much better. This is very cool, thanks for building and sharing it!

  • @SouhailEntertainment
    @SouhailEntertainment 2 месяца назад

    Introduction and Objective - 00:00:00
    Different Layers of AI Prompting - 00:00:34
    Basic Prompting Limitations - 00:00:54
    Retrieval Augmented Generation (RAG) - 00:01:05
    Large Context Models - 00:02:10
    Claude Projects Feature - 00:03:32
    Preparing Your Project for Claude - 00:04:08
    Demo Project Introduction - 00:04:51
    Using AI-Digest Tool - 00:05:38
    Creating .ai-digest-ignore File - 00:06:25
    Uploading Documentation - 00:07:03
    Integrating with Claude Projects - 00:08:37
    Generating Custom Instructions - 00:09:26
    Setting Up Development Environment - 00:10:05
    Implementing New Feature - 00:10:48
    Installing Necessary Packages - 00:12:27
    Reviewing Generated Code - 00:13:11
    Adjusting Incomplete Code - 00:13:51
    Updating Application Configuration - 00:15:10
    Testing Initial Implementation - 00:16:10
    Saving Local Preferences - 00:17:35
    Iterating on Code Changes - 00:18:23
    Design Fixes and Improvements - 00:19:12
    Handling Platform-Specific Functions - 00:20:29
    Removing Non-Existing Function Calls - 00:21:47
    Implementing Advanced Features - 00:22:28
    Reviewing Complex Code Changes - 00:23:14
    Correcting Backend Implementation - 00:24:01
    Testing Advanced Features - 00:24:47
    Troubleshooting and Final Adjustments - 00:25:38
    Final Testing and Validation - 00:26:23
    Conclusion and Next Steps - 00:27:52

  • @brunobely
    @brunobely 2 месяца назад +1

    How do you get the editor tabs to show “/jar (+page)” rather than “+page.svelte”? 😮

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад +1

      In VSCode settings, search for customLabels, then add this configuration:
      "workbench.editor.customLabels.patterns": {
      "**/routes/**/{+server,+layout,+page,+error}.{svelte,ts,server.ts,js,server.js}": "/${dirname} (${filename})"
      }
      The first value goes in Item and second in Value.

    • @brunobely
      @brunobely 2 месяца назад

      Amazing! Thank you

  • @jeehwanjang5383
    @jeehwanjang5383 2 месяца назад

    very helpful. thx. it is more than amazing!

  • @razdingz
    @razdingz 2 месяца назад

    thanks for ai-digest , I was looking through the docs , I assume this is for webdev mostly , i wanted to know if it works with projects in other langs ? python, c#, C++ ?

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад +1

      Thank you for the comment! ai-digest works with any programming language, you can open an issue on GitHub if something doesn't work for you. The only prerequisite is Node.js to run it!

  • @preyenperumallable
    @preyenperumallable 2 месяца назад

    hi there. awesome video, i learnt a lot. I am by no means a porgramer but have been developing with Claude and loving it. I will try your ai-digest tool, thank you very much. Would love to hear what are your thoughts on Aider as an ai pair programmer?
    Best of luck to you. Subscribed.

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад

      Thank you! Haven't tried Aider yet but would love to in a future video, thanks for the tip!

  • @manju4ever222
    @manju4ever222 2 месяца назад

    Can it be used for golang projects as well ?

  • @momcilodelic8391
    @momcilodelic8391 2 месяца назад

    Hi! How did you get entire Svelte md documentation ? Is there any quick way to get it ?

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад +2

      Hi! You can download it from below. Using it as a JSON file is fine or you can ask Claude to write a script to convert it to Markdown.
      kit.svelte.dev/content.json

    • @momcilodelic8391
      @momcilodelic8391 2 месяца назад

      ​@@StanislavKhromov Genius! Didn't know about this. Is this something one can use for other documentations, or is this only sveltekit docs that provided this?

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад +1

      It's specific to Kit unfortunately. Usually I check if the documentation is available on GitHub, in this case you can clone it and merge the markdown documentation files with ai-digest, or you can ask Claude to scrape the docs website by providing it with a HTML example. Good luck with your AI development!

    • @momcilodelic8391
      @momcilodelic8391 2 месяца назад

      @@StanislavKhromov Thank you so much!

  • @kirandev1
    @kirandev1 2 месяца назад

    How much messages will you have with almost 100% project knowledge filled? Based on the video it is about 10 messages. Am I right?

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад +2

      Right now it's around ~15 message every few hours.

    • @RenanFranca
      @RenanFranca Месяц назад

      ​@StanislavKhromov how do you handle that limitation in your workflow?
      BTW, amazing video keep it up!

    • @StanislavKhromov
      @StanislavKhromov  Месяц назад +1

      @@RenanFranca I spend some time writing the prompt as detailed as I can, this avoids misunderstandings and usually you can get a small feature done in 2-3 prompts. So you can do quite a lot if you try to be economical. If you need to ask questions that don't require lots of context you can use apps like Jan or Msty and connect to the Anthropic API which does not have as heavy limits.

    • @RenanFranca
      @RenanFranca Месяц назад

      @@StanislavKhromov Thank you very much for the detailed answer! Great idea!
      Have you tried using Claude 3 Opus in your workflow? Is it worth it?
      Don't you use ChatGPT?

    • @StanislavKhromov
      @StanislavKhromov  Месяц назад +1

      As of today, Opus scores worse on most coding benchmarks. I don't use ChatGPT because it scores worse than Sonnet currently and doesn't have anything equivalent to Projects. Hopefully they will improve!

  • @siddhantparadox
    @siddhantparadox 2 месяца назад +2

    Can you share your custom instructions template?

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад +8

      Of course! Here is the prompt that was used in the video. Keep in mind you have to change your app name, purpose and technologies used in the beginning of the prompt.
      "You are an AI assistant with expertise in the Appreciation Jar app, a digital platform for couples to share appreciative messages. The app is built using SvelteKit, TypeScript, and PostgreSQL, with additional technologies like Capacitor for mobile app development (iOS and Android), Firebase for push notifications, and various APIs for different functionalities.
      You should be able to answer questions about the app's features, architecture, and implementation details.
      When asked about code specifics, refer to the structure and patterns used in the provided codebase.
      If asked about future improvements or features, consider the existing architecture and suggest enhancements that align with the app's current code.
      Write TypeScript code, add and infer types when possible. Always write out changes to files in full, never write out partial files or files with comments in them like /* existing code here */.
      Always write code using Claude Artifacts.
      After you produce code changes, make a very short bullet point summary of the changes that were made."

  • @aricoleman5802
    @aricoleman5802 2 месяца назад

    Great channel friend. Keep it going

  • @prince-sonawane
    @prince-sonawane 2 месяца назад

    I have a basic question related to AI-DIGEST. will it work on non node projects has well?

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад

      Hi! Yes, it will work on projects in any language. However, in order to run "npx ai-digest" you will need to have a recent version of Node.js installed.

    • @alecwhitters6534
      @alecwhitters6534 2 месяца назад

      ​@@StanislavKhromov Im a weak coder whos coded a lot with ai and but I dont get this

  • @danil5948
    @danil5948 2 месяца назад

    Nice video, How can I get your tool AI Digest? Thank you

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад

      After you have installed Node.js, run `npx ai-digest` in your project folder!

  • @coopernik
    @coopernik 2 месяца назад +1

    amazing content keep it up

  • @dmv_p
    @dmv_p 2 месяца назад

    Pretty awesome tool ... unfortunately I just ran it on my project, and it says I it's an estimated 2,153,301 tokens so I guess I'll just go back to how I was Sonnet before or on much smaller projects.

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад +1

      Remove files you don't need with the .aidigestignore file and use --show-output-files flag to check which files actually get included, if you have a giant enterprise project you might need to selectively remove less important parts of it to fit the Projects context.

    • @dmv_p
      @dmv_p 2 месяца назад +1

      @@StanislavKhromov thanks for the recommendation. Now down to ~173K tokens

  • @nickmills8476
    @nickmills8476 2 месяца назад

    Interesting approach.

  • @sunkwolf
    @sunkwolf 2 месяца назад

    Can you share your ai-digest script and your system prompt please?

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад +1

      You can find the script here:
      www.npmjs.com/package/ai-digest
      The system prompt is nothing special, you can use the approach from the video to create your own prompt because it will depend on the programming language and libraries used!

    • @sunkwolf
      @sunkwolf 2 месяца назад

      @@StanislavKhromov thx so much

  • @AbuBakr1
    @AbuBakr1 2 месяца назад

    How do we setup the AIdigest

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад

      Hi! You need to install Node.js, once that's done you can run `npx ai-digest` from your terminal in you project folder.

  • @shodwana
    @shodwana 2 месяца назад +1

    I have watched your video through the end, it is sooo satisfying and clear. Thank you so so much, you have not left your contact. Can you please share it

  • @BhideSvelte
    @BhideSvelte 2 месяца назад +1

    Niceeee oneeee

  • @Bugge67
    @Bugge67 2 месяца назад

    Excellent and to the point! _follower++

    • @Bugge67
      @Bugge67 2 месяца назад

      And.. is that a Swedish accent I hear?

    • @StanislavKhromov
      @StanislavKhromov  2 месяца назад +1

      Rätt gissat!

  • @trueboomshakalaka364
    @trueboomshakalaka364 2 месяца назад +1

    Adding .aidigestignore in .aidigestignore is next level inception

  • @leejacksondev
    @leejacksondev 2 месяца назад

    For a moment I thought I was watching an LGR video. en.m.wikipedia.org/wiki/Lazy_Game_Reviews

    • @leejacksondev
      @leejacksondev 2 месяца назад

      Ps this is an epic video. Trying to get my whole code base considered has been something that’s been bugging me.