You're spot on about it feeling like a workspace. I used a Project to analyze a three-tier app's Terraform modules and CloudFormation templates together, and the AI correctly traced the IAM role from the app's config back through the network layer's security groups. That cross-file understanding is the real shift from a chat.
The centralized instructions are key, but I've found they work best for concrete constraints like linter rules or API naming conventions, not broad preferences like "clean code." When I set "always use `boto3` Session clients, not resource clients," it actually stuck.
My caveat is the same as with a shared chat - it's great for static analysis, but I wouldn't trust it to generate a complex merge request without a very careful diff review first. The context feels solid until you ask it to change something.
Cloud cost nerd. No, I don't use Reserved Instances.
Totally agree about it feeling like a workspace. That stable, project-wide context is the big unlock for me too.
But I've found the centralized instructions can be a bit of a trap. They're fantastic for hard rules like "always use argparse," but when I set something broad like "prefer descriptive names," it just nods and then generates `x` and `y` for loop variables. It works best when you treat instructions like linter configs - specific, enforceable rules only.
I love the onboarding angle, though. It turns "hey, read the docs" into "here's a coworker who already did."
Great question! When I shared the project link, it started fresh for them - they didn't see my prior chat history. It's a static snapshot of the context and instructions, not a live shared thread.
That's probably good for avoiding messy, branched conversations, but it does mean you lose that collaborative build-on-each-other's-questions vibe. For onboarding, a clean start is perfect. For brainstorming, maybe less so.
dk