How to manage all my cdk stacks?

So we have deploy multiple services. To an extent they are part of the same whole.

What I’m trying to figure out is how do we group these stacks?

I’m assuming that all my stacks that work together should all be tagged against a specific cdktf.json? right? I shouldn’t try and have multiple of these? I guess what I’m trying to avoid is having to always deploy all my stacks but I guess when deploying a specific stack I’m only going to need to deploy the stack and its dependencies. So not all the stacks. But then I know it should only deploy stacks that have changed.

So this would mean have a main.ts for example which houses the app and all the stacks and then referring to this file from cdktf.json. The alternative, which I think I’d prefer is to have multuiple of these cdktf.json files and then multiple smaller apps and stack creation ts files… Though I’m a little skeptical that this would work, it would certainly be easier to manage. I’m skeptical that this would work as I have a “General” stack that provides things like VPC and is thus shared by all the stacks…

I guess the problem with that though is if I use github actions to deploy then I won’t be able to tell which stack has changed and will probably have to deploy all the stacks in any case?