It varies, but they're not necessarily very complex projects. The most complex project that I'm still working on is a Java swing UI to run multiple instances of Claude code in parallel with different chat histories and the ability to have them make progress in the background.
If you need to repeatedly remind it to do something though, you can store it in claude.md so that it is part of every chat. For example, in mine I have asked it to not invoke git commit but to review the git commit message with me before committing, since I usually need to change it.
There may be a maximum amount of complexity it can handle. I haven't reached that limit yet, but I can see how it could exist.
If you need to repeatedly remind it to do something though, you can store it in claude.md so that it is part of every chat. For example, in mine I have asked it to not invoke git commit but to review the git commit message with me before committing, since I usually need to change it.
There may be a maximum amount of complexity it can handle. I haven't reached that limit yet, but I can see how it could exist.