eons uses a particular naming scheme that is designed to extend the semantic information present in a filesystem URI.

All names begin with a part of speech describing their purpose followed by additional, descriptive groupings.

This often generates the pattern: {part-of-speech}_{descriptor-1}_{descriptor-2}...{descriptor-n}.

All related terms are separated with en dashes.

All distinct groupings are separated by underscores.

The {part-of-speech} is a verb for tasks and a noun for products. For example create-file_my-file (verb, does work) vs file_myfile (noun, product of work).

The descriptor is a series of terms, often nouns, in order of increasing scope (think of this as how you would organize your folders, with the top-most folder (e.g. /) on the right and the furthest sub-folder on the left). This means we would left-to-right-read if our folders would be /read/right/to/left.

The reason to organize each descriptor this way can be thought of as easiest to read while actively working on but descriptive enough to look back on. For example, if we are working on file_some-fork-of-my-file, with this naming scheme, we can stop reading once we get to “of” but can, likewise, continue reading for increased certainty that we have the right thing.

The ordering of descriptor groups is often arbitrary but can follow the same sequence as descriptor terms. The reason descriptor group order does not matter is that each group should represent a perspective through which a thing can be viewed. Perspectives operate on a single plane of importance. For example, if we have file_some-fork-of-my-file_subproject-project_1-Jan-2021, we could just as easily name the file file_some-fork-of-my-file_1-Jan-2021_subproject-project, as neither the date nor the project descriptor group is more important than the other. It may be the case that the first descriptor comes to bear more semantic weight than the others but this is not always the case. Also note that you can use whatever date format you’d like; however smallest time increment to largest time increment is recommended.

This naming scheme does not use spaces and should keep special characters to a minimum.