On This Page8 sections
Key Takeaways
- A project in Trae IDE is usually the folder or Git repository currently opened in the coding environment.
- Start projects by opening a local folder, cloning a Git repository, or opening an existing workspace.
- Use a single-folder workspace for most repositories. Use a multi-root workspace only when one development task genuinely spans multiple folders or repositories.
- For AI-assisted work, project management is also context management. Build the workspace index, exclude generated or sensitive files, and use
#Workspaceor#Folderwhen broader codebase context is needed. - Put durable coding instructions in project rules under
.trae/rules/instead of repeating architecture, testing, naming, or framework requirements in every prompt. - Treat projects, Git branches, and SOLO tasks as different layers: the project defines the codebase, Git manages code history, and SOLO tasks separate AI work inside the same project.
- For large repositories, indexing strategy matters because irrelevant generated files and dependencies can reduce retrieval quality.
Managing projects in Trae IDE is not just about opening folders. In an AI-native development workflow, the project boundary determines what files the editor shows, which Git repository is active, what project instructions apply, and what context the AI can retrieve.
A well-managed Trae project therefore has four layers: workspace structure, source control, AI context, and task organization.
What Counts as a Project in Trae IDE?
In practical terms, a Trae project is the codebase currently opened in the IDE. For a simple application, the project, workspace, folder, and Git repository may all refer to the same directory.
For larger systems, these concepts should be separated:
- A folder is a directory on disk.
- A project is the codebase being worked on.
- A workspace is the IDE boundary containing one or more folders.
- A Git repository is the version-control boundary.
- A SOLO task is an AI work thread inside the active development context.
For example:
acme-platform/
├── web/
├── api/
├── packages/
├── infra/
└── docs/If acme-platform is a monorepo, opening the root directory is usually the cleanest setup. Trae can then reason across shared packages, frontend code, backend code, tests, and configuration.
Now consider two independent repositories:
projects/
├── acme-web/
└── acme-api/If most work happens independently, separate Trae windows are usually clearer. If a feature frequently requires coordinated frontend and backend changes, a multi-root workspace can be more convenient.
The key principle is simple: make the Trae workspace match the scope of the work being performed.
How to Open an Existing Project
When the project already exists locally:
- Open Trae.
- Choose Open Folder or the equivalent project-opening action.
- Select the actual repository root.
- Review any workspace trust prompt.
- Confirm that the Explorer, terminal, Git panel, and AI context all point to the expected project.
Best practice: open the highest directory that represents one coherent product.
Opening only src/components/ may look cleaner, but it can hide configuration, tests, package metadata, server code, and other context needed for reliable AI-assisted changes.
How to Clone a Project
For an existing remote repository, clone it before starting substantial work.
A standard terminal workflow is:
git clone <repository-url>
cd <repository-folder>Then open the cloned directory in Trae.
After opening it, immediately verify the repository state:
git status
git branch --show-currentThis prevents accidental development on the wrong branch or on top of uncommitted changes.
How to Switch Between Projects
A clean multi-project setup is more important than keeping every repository in one window.
A practical pattern is:
- Keep unrelated products in separate Trae windows.
- Keep tightly coupled folders in one workspace.
- Avoid opening a parent directory containing many unrelated repositories.
- Reopen recent projects instead of creating oversized workspaces for convenience.
This reduces accidental edits, terminal confusion, Git mistakes, and irrelevant AI context.
Single-Folder vs. Multi-Root Workspaces
Most projects should begin as a single-folder workspace.
Use a multi-root workspace when one task regularly crosses repository or directory boundaries, such as:
- frontend + backend repositories
- application + shared component library
- game client + game server
- infrastructure + application code
- plugin + host application
- several tightly coupled microservices
A reusable multi-root setup can be represented conceptually as:
product-workspace
├── web/
├── api/
└── shared/When Not to Use Multi-Root
Do not combine repositories simply because they belong to the same company.
Use separate projects when:
- dependencies are independent
- release cycles differ
- repositories use different credentials or environments
- projects are unrelated products
- an AI task should never modify both repositories
- additional repositories would add more context noise than value
AI context quality generally improves when the workspace is broad enough to contain required dependencies but narrow enough to exclude unrelated code.
Organize the Project Before Asking AI to Change It
AI coding performance depends heavily on how clearly a repository communicates its structure.
A healthy root might look like:
my-app/
├── .trae/
│ └── rules/
├── src/
├── tests/
├── scripts/
├── docs/
├── package.json
├── README.md
└── AGENTS.mdUseful organization principles include:
- keep generated artifacts out of source directories
- keep tests discoverable
- keep project documentation close to the code
- keep secrets outside committed files
- avoid ambiguous directories such as
new-src,src2, orfinal-src - use stable names for reusable modules
- keep build output separate from editable source code
These practices help both developers and AI retrieval systems identify the correct files.
Build and Maintain the Workspace Index
Code indexing is one of the most important AI-specific project-management steps.
When repository-wide context is needed, Trae can use indexed project files to locate relevant code. If indexing is incomplete or polluted by generated content, repository-level prompts become less reliable.
Good candidates for exclusion include:
node_modules/dist/build/.next/- cache directories
- generated SDKs
- large binary assets
- temporary exports
- local environment files
- credentials and secrets
The goal is not to make the index as small as possible. The goal is to make it high signal.
Use #Workspace, #Folder, and Narrow Context Intentionally
A common mistake is attaching the entire project to every AI request.
Use the smallest context scope that reliably contains the answer:
- use selected code for a local implementation question
- use a single file when behavior is isolated
- use
#Folderfor one subsystem - use
#Workspacefor architecture, cross-file debugging, or repository-wide refactors
For example:
Use #Workspace to trace the authentication flow from the React login form through the API handler and session middleware. Identify the smallest safe change needed to add email verification. Do not edit files yet.This workflow asks the AI to map the system before modifying it, reducing the risk of a locally plausible but architecturally incorrect edit.
Create Project Rules Instead of Repeating Instructions
Durable project instructions should live with the project rather than only inside temporary chat history.
Useful project rules can cover:
- framework conventions
- naming rules
- TypeScript strictness
- API response formats
- testing expectations
- forbidden dependencies
- file-location conventions
- database migration policies
- commit-message conventions
A simple rule might look like:
---
alwaysApply: true
---
- Use TypeScript strict mode.
- Do not introduce a new state-management library.
- Put reusable API clients in src/lib/api.
- Add or update tests for behavior changes.
- Never modify generated files under src/generated.The exact syntax may depend on the current Trae rule format, but the management principle remains the same: encode stable constraints once and reuse them across tasks.
Use Scoped Rules for Large Repositories
Large repositories should not load every instruction for every task.
A scalable rule structure might look like:
.trae/rules/
├── general.md
├── frontend/
│ ├── react.md
│ └── testing.md
├── backend/
│ ├── api-design.md
│ └── error-handling.md
└── devops/
└── deployment.mdThis keeps frontend conventions from interfering with backend work and makes AI instructions more relevant to the files being changed.
Reuse Portable Agent Instructions
Teams using several coding agents should avoid maintaining completely separate instruction sets for every IDE.
General repository guidance can live in portable files such as AGENTS.md, while .trae/rules/ can hold Trae-specific instructions.
A useful division is:
README.md: human-facing project overviewAGENTS.md: cross-agent development instructions.trae/rules/: Trae-specific rules and scoped behaviordocs/: deeper architecture and operational documentation
This reduces duplicated instructions and configuration drift.
Manage Git Inside Each Project
Project management without source control is incomplete.
For a new change, start with a branch:
git switch -c feature/account-settingsBefore making a large AI-assisted edit, check the working tree:
git statusAfter one coherent change:
git add .
git commit -m "feat: add account settings validation"Even when an AI tool suggests a commit message, review the actual diff first.
A good commit describes what changed in the repository, not merely what the AI was asked to do.
Separate Project Management from Task Management
Projects, branches, and AI tasks solve different problems.
A useful mental model is:
Project
└── Git branch
└── AI taskFor example:
Project: ecommerce-app
├── Branch: feature/checkout
│ ├── Task: Add payment form
│ └── Task: Investigate validation bug
└── Branch: feature/search
└── Task: Improve product search rankingAI tasks help separate conversations and objectives, but they should not be treated as source-control isolation.
If two tasks may edit the same files, use branches, worktrees, separate clones, or another isolation mechanism.
A Recommended Trae Project Workflow
1. Open the Correct Root
Open the repository root rather than a deeply nested implementation folder.
Verify that configuration, tests, documentation, and source files are available.
2. Confirm Repository State
Before enabling broad AI edits:
git status
git branch --show-currentCheck for uncommitted changes and confirm the active branch.
3. Check Code Indexing
Make sure the important parts of the repository are available to Trae's context system.
Exclude generated output, dependencies, caches, and sensitive files.
4. Add Project Rules
Create concise rules for decisions that should remain stable:
- architecture
- style
- tests
- dependency policy
- security constraints
Do not turn project rules into an internal encyclopedia. Short, actionable rules are more likely to influence implementation correctly.
5. Ask for a Project Map Before a Large Change
For an unfamiliar repository:
Use #Workspace. Map the files involved in user authentication, explain the request flow, identify the existing test coverage, and list the files that would need modification to add passkeys. Do not change code.This builds a shared model before autonomous edits begin.
6. Create a Feature Branch
git switch -c feature/passkeysA branch gives the implementation a clean rollback boundary.
7. Create Focused AI Tasks
Good task:
Add passkey registration using the existing auth service. Preserve password login. Add tests for successful registration and duplicate credentials.Weak task:
Improve authentication.Specific tasks are easier to review, test, and revert.
8. Review, Test, and Commit
Before moving to the next task:
git diff
npm testUse the project's actual test command when different.
Commit after each coherent milestone so that AI-generated changes remain reversible.
Recommended Setup by Project Type
| Scenario | Recommended Trae Setup | Why |
|---|---|---|
| Small single-repo app | Open repository root | Minimal context ambiguity |
| Monorepo | Open monorepo root | AI can follow shared packages and dependencies |
| Frontend + backend in separate repos | Multi-root workspace when features span both | Easier cross-repository reasoning |
| Several unrelated client projects | Separate Trae windows | Prevents accidental context and Git mixing |
| Very large repository | Root workspace + selective indexing | Preserves architecture while reducing retrieval noise |
| Microservices | Include only services needed for the active feature | Avoids indexing the entire organization |
| Shared library + consuming app | Multi-root workspace during integration work | AI can inspect both API and consumer usage |
| Experimental prototype | Separate branch or repository | Keeps disposable work isolated |
Common Project-Management Mistakes
Opening the Wrong Folder
If the workspace starts too deep in the directory tree, Trae may miss configuration, tests, or dependent modules.
Fix: reopen the true repository or product root.
Using Repository-Wide Context Too Early
If indexing is incomplete, project-level retrieval can miss important files.
Fix: confirm indexing before relying on #Workspace for architectural decisions.
Indexing Everything
Dependencies, generated output, build artifacts, and datasets create noise.
Fix: exclude files that are not useful for reasoning about source code.
Putting Every Repository in One Workspace
A giant workspace increases navigation noise and makes broad AI prompts less precise.
Fix: group repositories according to real development workflows.
Keeping Important Instructions Only in Chat
Chat instructions are easy to lose and difficult for teams to share.
Fix: move durable conventions into .trae/rules/, AGENTS.md, or repository documentation.
Treating AI Tasks as Git Isolation
Separate conversations can still modify the same working tree.
Fix: use Git branches, worktrees, or separate clones when changes must be isolated.
Allowing Giant First-Pass Refactors
Huge AI-generated diffs are hard to review, debug, and revert.
Fix: break work into independently testable steps and commit after each coherent milestone.
Advanced Workflow for Monorepos
For a monorepo, avoid creating separate Trae projects for every package unless those packages are genuinely independent.
A strong default is:
platform/
├── apps/
│ ├── web/
│ └── admin/
├── services/
│ └── api/
├── packages/
│ ├── ui/
│ └── config/
└── .trae/
└── rules/Open platform/ as the project root.
Then:
- use
#Folderfor package-specific questions - use
#Workspacefor cross-package changes - put universal rules at the root
- scope specialized rules by module
- ignore build output and generated files
- create branches around product features rather than AI conversations
This gives Trae broad architectural visibility without making every prompt unnecessarily broad.
Advanced Workflow for Frontend and Backend Repositories
When web and api are separate repositories but frequently change together, a multi-root workspace can be useful.
Conceptually:
product-workspace
├── web/
└── api/Create corresponding feature branches in each repository:
git switch -c feature/team-invitationsThen split the implementation into focused tasks:
- API: add invitation endpoint and authorization checks
- Web: add invitation UI and error states
- Integration: verify request shape and end-to-end behavior
The workspace gives Trae visibility across both sides while Git preserves independent repository histories.
How to Keep Trae Projects Fast and Predictable
A maintainable Trae setup usually has:
- one obvious workspace root
- clean Git status before major AI work
- focused branches
- complete but selective indexing
- durable project rules
- tests close to the behavior they protect
- small, outcome-oriented AI tasks
- frequent reviewable commits
An AI IDE performs best when it can answer three questions quickly:
- What part of the codebase is relevant?
- What rules must this project obey?
- How can this change be verified and reverted?
If the workspace, rules, and Git history make those answers obvious, project management becomes substantially safer and more efficient.
Conclusion
The best way to manage projects in Trae IDE is to treat the workspace as the control boundary for code, context, rules, and AI execution.
Open the correct repository root, use multi-root workspaces only when a real task spans multiple folders, keep Git history clean, maintain a focused code index, and encode long-lived standards in .trae/rules/.
Use #Folder and #Workspace deliberately, and use AI tasks to separate work without confusing task organization with source-control isolation.
For an existing project, the most useful next step is straightforward: open its true root, verify the Git state, clean up indexing, create concise project rules, and run a workspace-level architecture review before the next major change.
Continue Reading
More articles connected to the same themes, protocols, and tools.
Referenced Tools
Browse entries that are adjacent to the topics covered in this article.




