Skip to main content
Contributions are welcome. Please follow the Code of Conduct in issues, pull requests, and discussions.

Development setup

1

Clone the repository

2

Install dependencies

3

Build all packages

Dev commands

Run from the repo root: All checks must pass locally before pushing. The pre-submit checklist:
  1. npm run build passes
  2. npm run lint:workspaces passes
  3. npm run test:run passes
  4. npm run check:spec-coverage passes

Running tests for a specific package

Repository layout

Branch naming

Create a branch for every change — never commit directly to main.

Commit format

Use Conventional Commits:
Valid types: feat, fix, refactor, test, docs, chore, ci, perf, style Scope to the affected package:
Reference issues in the commit body with Fixes: #N (closes) or Ref: #N (related).

Pull request guidelines

  • Keep PRs small and focused — one concern per PR
  • Include test evidence for behavior changes
  • Include screenshots or gifs for any PR that touches visible output (diff rendering, formatting)
  • For new capabilities or behavior shifts, include an OpenSpec change
  • Before review begins: interactive rebase to clean up history is encouraged
  • After review begins: do not force push — reviewers need to see incremental changes
  • After review completes: squash merge or rebase to produce a clean history on main

Issues and discussions

Open issues at github.com/UseJunior/safe-docx/issues.