Ideal way to package Guix repository with Guile expression?

I'm not sure if this is the right term to use, but in Nix, there's a shell.nix file to access the shell in an isolated, pure environment. I have a repository, basically a web app that uses NodeJS. I want to be able to invoke a new shell using guix shell. What is the similar equivalent in Guix? Is it guix.scm or manifest.scm?