A class file or package file typically has four parts.
\NeedsTeXFormat and \ProvidesClass or \ProvidesPackage commands. smcmemo class might be called with an option to read in a file with a list of people for the to-head, as \documentclass[mathto]{smcmemo}, and therefore needs to define a command \newcommand{\setto}[1]{\def\@tolist{#1}} used in that file. \documentclass[option list]{class
name}, to modify the behavior of the class. An example is when you declare \documentclass[11pt]{article} to set the default document font size. Here is a starting class file, which should be saved as stub.cls where LaTeX can find it, for example in the same directory as the .tex file.
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{stub}[2017/07/06 stub to start building classes from]
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions\relax
\LoadClass{article}
It identifies itself, handles the class options via the default of passing them all to the article class, and then loads the article class to provide the basis for this class’s code.
For more, see the official guide for class and package writers, the Class Guide, at https://www.latex-project.org/help/documentation/clsguide.pdf (much of the descriptions here derive from this document), or the tutorial https://www.tug.org/TUGboat/tb26-3/tb84heff.pdf.
© 2007–2018 Karl Berry
Public Domain Software
http://latexref.xyz/Class-and-package-structure.html