- Update
README.mdto document the feature - Update the architecture SVG at
docs/how-it-works.svgif the feature changes how the system works - Bump the version in
package.jsonbefore publishing
{type}: {description} (e.g., feat: add course search tool)
No Co-Authored-By lines. No phase/plan numbers.
- Auto-publishes via GitHub Actions on push to main (when version in package.json changes)
- NPM_TOKEN secret in GitHub repo settings (expires Apr 21, 2026)
- README and description on npm are baked in at publish time, so always publish after README changes
- The MCP client config uses
npx brightspace-mcp-server@latestso users auto-update - Always bump the version in package.json BEFORE or IN THE SAME COMMIT as any code or docs change. Never push code changes to main without a version bump. If you forget, the GitHub Action will skip publishing and users will not get the update.
- Config store:
~/.brightspace-mcp/config.json(falls back to.env) - Session tokens:
~/.d2l-session/session.json(AES-256-GCM encrypted) - Auth: Playwright-based browser login with Duo MFA support
- Auto-reauth on token expiry via
AuthRunner - CLI subcommands:
setup,auth, default (MCP server) - School presets:
--purdueflag (extensible viaSCHOOL_PRESETSinsrc/setup.ts)