6 stable releases
1.0.5 | Jan 17, 2023 |
---|---|
1.0.3 | Jan 16, 2023 |
#2227 in Database interfaces
24 downloads per month
34KB
788 lines
spiderman: The weaving project manager
Spiderman manages your projects by associating each project with a set of tags and dynamically generating set of views based on these tags.
All projects live within a spiderman project root. All subcommands (except init which creates a new root)
operate with respect to the current project root. The project root is either the next upstream
directory (from the current working directory) that qualifies as a project root, or the default project root,
which can be set in ~/.config/spiderman/config.toml
.
A spiderman project root contains a .spiderman
directory, which, in turn, contains the raw
directory,
holding all the projects managed by spiderman, and the schema.toml
configuration file, describing how
spiderman should build view trees based on tags.
The schema.toml
file contains a list of schemas and a set of default tag values to use when a
project does not have a tag, but that tag is used in a schema. Schemas consist of /
separated components
that are either plain strings, in which case they will be used in the view tree verbatim, or strings contained
in curly braces ({
and }
) in which case the string is interpreted as the name of a tag and substituted
with the appropriate tag value when building the view tree.
A project's tags are specified in its spiderman.tags
file, which can be edited using the tags subcommand.
Each line in this file consists of colon (:
) separated values. The first of these is the name of the tag, while the
later ones are values for that tag. A project may have multiple values for one tag.
Example
schema.toml
:
schemas = [
"by-organization/{organization}/{type}",
"by-type/{type}/{organization}"
]
[default_tag_values]
organization = "Personal"
type = "Random"
spiderman.tags
:
organization:Uni
type:Software:Writing
Dependencies
~2.5–3.5MB
~62K SLoC