# Seeking convention: project directory for project info

**URL:** <https://www.ruby-forum.com/t/seeking-convention-project-directory-for-project-info/101393>\
**Category:** Ruby\
**Created:** [August 4, 2006, 5:30pm UTC](https://www.ruby-forum.com/t/seeking-convention-project-directory-for-project-info/101393 "2006-08-04T17:30:35Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![7rans](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/7/a8b319/32.png) [@7rans](https://www.ruby-forum.com/u/7rans)\
**Post date:** [August 4, 2006, 5:30pm UTC](https://www.ruby-forum.com/t/seeking-convention-project-directory-for-project-info/101393/1 "2006-08-04T17:30:35Z")

</div>

I’m querying the Ruby community for a general convention in project  
directories. I develop Reap which is essentially a Rake clone (almost  
fully Rake compatible interface) plus extensive project management  
tool. As it has matured I’ve come to see that it would be best to have  
a dedicated folder in which to store “meta information” for a project  
– things like project info, special admin scripts, etc. plus files we  
normally store at the top level like VERSION, fit nicely in this  
directory.

Currently, I’m using the name ‘meta/’. But I’ve noticed some other  
project using ‘util/’ for similar purposes. I’ve also toyed with using  
‘proj/’ but didn’t end up liking it so much. At this point I need to go  
ahead and commit to some name.

Perhaps there can be a general concensus for a community convention for  
what to label such a directory?

Thanks,  
T.

---

<div class="post-metadata">

**Author:** ![7rans](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/7/a8b319/32.png) [@7rans](https://www.ruby-forum.com/u/7rans)\
**Post date:** [August 4, 2006, 6:18pm UTC](https://www.ruby-forum.com/t/seeking-convention-project-directory-for-project-info/101393/2 "2006-08-04T18:18:41Z")

</div>

I would think that you could actually separate that data into  
appropriate directories. I don’t think special admin scripts falls  
into the meta category, and VERSION may be better off in the root…  
or something like state/ or someting. Also, there’s .meta/ if you’re  
wanting to keep it quiet for the most part.

Does this make any sense? Or have I misunderstood your design and  
structure?

M.T.

---

<div class="post-metadata">

**Author:** ![7rans](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/7/a8b319/32.png) [@7rans](https://www.ruby-forum.com/u/7rans)\
**Post date:** [August 4, 2006, 6:36pm UTC](https://www.ruby-forum.com/t/seeking-convention-project-directory-for-project-info/101393/3 "2006-08-04T18:36:42Z")

</div>

Matt T. wrote:

> I would think that you could actually separate that data into  
> appropriate directories. I don’t think special admin scripts falls  
> into the meta category, and VERSION may be better off in the root…  
> or something like state/ or someting. Also, there’s .meta/ if you’re  
> wanting to keep it quiet for the most part.

It can become rather clutterd if everything has it’s own particular  
place which is why this single “project metadata and utilities” dir  
really becomes useful. By admin I mean project admin. Eg. a script that  
updates RAA for instance (albiet more often these are in a  
Rakefile/Reapfile, but not always.) Here’s a like of some conceviable  
files:

MANIFEST  
VERSION  
ChangeLog/CHANGES  
doap.xml  
ProjectInfo (Reap uses this)  
Reapfile (ditto)  
Rakefile (if Rake supported it)  
InstalledFiles (if setup.rb supported it)  
.config (if setup.rb supported it)

I’m sure there are more, and of course there are others that could be  
very project specific.

FYI, Reap still supports the files it uses even if they are in the root  
and not in “meta/” though.

> Does this make any sense? Or have I misunderstood your design and structure?

Yes and no. Perhaps you could be more specific. What directories do you  
think need to be separate?

Thanks,  
T.

---

<div class="post-metadata">

**Author:** ![7rans](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/7/a8b319/32.png) [@7rans](https://www.ruby-forum.com/u/7rans)\
**Post date:** [August 4, 2006, 8:18pm UTC](https://www.ruby-forum.com/t/seeking-convention-project-directory-for-project-info/101393/4 "2006-08-04T20:18:54Z")

</div>

I think any kind of script would belong in a ./script/ folder, and if  
need be, have a ./script/admin/ folder for those special admin  
scripts. And most of those other bits can be hidden in a ./.meta/  
folder if you like, particularly MANIFEST and VERSION and doap.xml  
(maybe?).

I’d have to know a bit more about the project to really give you some  
more suggestions. I think I’ll go check it out and give you some more  
suggestions once I’m a bit more familiar with it.

M.T.
