mirror of
https://github.com/sasjs/core.git
synced 2026-07-23 15:35:29 +00:00
1.6 KiB
1.6 KiB
Agent Instructions for @sasjs/core
Follow these rules when editing or generating code for the @sasjs/core SAS macro library.
Project Context
This repo is the SASjs Macro Core library — a collection of MIT-licensed, production-quality SAS macros for SAS application development.
Versioning
- NEVER bump or modify the version in
package.json. - Versioning is handled entirely by the CI/CD pipeline using semantic-release.
SAS Style & Standards
- Read and follow the standards documented in
README.md(Sections: Components, Standards, File Properties, Header Properties, Coding Standards). - Read and follow
.sasjslint:- No trailing spaces.
- Requires a Doxygen header on every macro (
@file,@brief, etc.). - Lowercase file names without spaces.
- Lowercase macro names.
- Macro definitions must use parentheses, e.g.
%macro x();not%macro x;. - Indentation = 2 spaces (or multiple thereof); no tabs.
- Max line length 300.
- No gremlins / invisible characters.
- One macro per file; filename must match macro name.
- Macro calls should NOT be terminated with a semicolon. Use
%my_macro()not%my_macro();. - Macro variables must always be local, to prevent scope leakage.
Build / Generated Files
- Do not run the build script locally; it is executed in the CI/CD pipeline.
- Generated files, including the consolidated
all.sas, the per-foldermc_*.sasfiles, and the LUA macro wrappers in theluafolder, can generally be ignored unless the pipeline requires an update. Do not edit generated files by hand. - run sasjs lint after each change