Project Layout

Notes

  • a Rip package is a collection of modules with a package module at the root
  • package modules live in ./source
  • global installs (of dependencies) are not necessary or encouraged (for development)
  • binaries in ./vendor/.bin may be executed with rip run (eg rip run dependency-two)
  • ./source and ./vendor/*/source (relative to the module using import) are added to Rip's load paths
project_dir/
├── build/
│  └── project_bin
├── docs/
├── source/
│  ├── project_name/
│  └── project_name.rip
├── tests/
│  ├── integration/
│  ├── support/
│  └── unit/
├── public/
├── vendor/
│  ├── .bin/
│  │  └── dependency-two -> ../dependency-two-cli@v0.1.0/bin/dependency-two
│  ├── dependency-one@v1.2.3/
│  │  └── ...
│  └── dependency-two@v0.1.0/
│  │  └── ...
│  └── dependency-two-cli@v0.1.0/
│     └── ...
├── LICENSE.md
├── package.toml # package metadata
└── README.md