Possible Duplicate:
How do you organize your projects folders?

I'm interested to learn how everyone keeps their local development projects organized in a logical manner. What do you do to keep your dev projects organized in a manner that allows you to easily find things?


3 Answers 3


At any given time, I normally have several different clients, each of whom has one or more projects. I also use a mainline-with-branching development model, which works well with many version control systems like git and Perforce.

So on any one of my development machines, above the individual project level, things look like this:

Client 1 Directory
    Project Foo Directory
        Main Branch Directory
        All Branches In One Directory (useful for Perforce branching/merging)
        Simple Fixes Branch Directory
        Big Ongoing Feature 1 Directory
        Big Ongoing Feature 2 Directory
    Project Bar Directory
        (similar branch directories)
Client 2 Directory
    Project Baz Directory

and so on. I don't typically pull all branches onto any given machine, or pull Mac projects onto a Windows or Linux box.

Individual branches usually look something like this:

Build Instructions Document/Checklist
Top-Level Makefile/Project
Source (Directory)
   Main Source Files
   Component 1 Source Directory
   Component 2 Source Directory
Include (Directory for headers exposed to the outside world, if suitable)
ThirdParty (Libraries, source code, etc. from elsewhere)
Unit Tests

Of course, there's a lot of variation. And if I take over a project somebody else started, I usually retain their existing hierarchy.

I typically keep documentation and test files either attached to a wiki in my issue tracking system (Redmine), or if they're bigger than Redmine's default 5 MB limit, on an FTP server, so I don't have to keep local copies on all my development machines, but can retrieve them as I need them.

  • +1 - about the same here, except I don't organize by client, just project. Nov 25, 2010 at 3:47

i use a structure similar to Bob's but i also have a separate root for documents with projects and admin folders. I don't like mixing dead trees and code in the same hierarchy.

[yes, i know it's two places to back up; i find the convenience worthwhile]


I use the following structure for my project on Java (three top-level directories):

Project/ - the projects main directory
   src/ - source files
   doc/ - documentation sources, generated HTML, PDF files
   build/makefiles and configurable template files for local paths and versions
   ChangeLog - a text file to track changes in the project
   README-DEV - describes how to build the project
   tests/ - everything concerning unit-testing
   kit/ - third party libs, sources

TSTProject/ - test-cases (over 2000 XML files), scripts for automated testing

Project_BRANCHES/ - branches, usually a branch per public release

Not the answer you're looking for? Browse other questions tagged or ask your own question.