What Goes in a Rug Archive?
What goes in a Rug Archive?¶
A key design goal was to respect your own tooling as much as possible so that every project should be a working Atomist project, and every Atomist project is a working project.
The Atomist Rug DSL was designed to work unintrusively alongside your existing projects to automate all the slow, annoying tasks of working in a modern software development environment.
Atomist's Rug DSL can be expressed and packaged alongside your
existing projects. A project that has a
.atomist directory, along
with some other artifacts that we'll explain here, is referred to as a
A packaged (zipped) Rug Project is referred to as a Rug project.
Exploring a very basic Rug Project¶
A very basic Rug project, along with some example Rug scripts and other bits and pieces, is provided by creating a new project using the Rug project generator. You can run this generator using the Atomist Button below.
The resulting project will have the following contents:
README.md .atomist/ pom.xml assembly.xml tests/ editors/ reviewers/ templates/ .atomist.yml
README.md is a standard project README file. The
atomist.yml file provides information on what Rugs have operated
on the repo. The contents of the
.atomist directory are described
in the next section.
Atomist Rug artifacts need to work happily alongside whatever
languages, frameworks or other artifacts may be present in your
project. For this reason, Rug artifacts are safely contained in a
.atomist directory that has the following general structure:
.atomist/ manifest.yml <= Metadata for the Rug project editors/ <= Rugs providing editors, generators, and conditional predicates executors/ <= Rugs that will work across multiple repositories reviewers/ <= Rugs that will provide feedback templates/ <= Templates used by Rugs tests/ <= BDD-style tests for your Rugs
Files in the
reviewers directory use the
.rug extension if they are using the Rug DSL or the
if they are written in TypeScript.
Rug tests use the