Commit graph

14 commits

Author SHA1 Message Date
Anish Sarkar
8ddefbc373 docs(plugins): a guide to listing a plugin, for publishers and agents
plugins/registry/README.md explains that a plugin is an MCP server and walks
from getting the server ready to the pull request, with every field, how
Verified is proven, what review checks, and a checklist for coding agents.
plugins/README.md and CONTRIBUTING.md point to it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 14:00:02 +05:30
Anish Sarkar
32cf6c61af chore(license): put plugins/remote/proprietary/ under BSL, changed only by maintainers
The root LICENSE names the folder, which holds its own copy of the Business
Source License. CODEOWNERS gives it to the maintainers, and code-quality.yml
fails a pull request from anyone else that touches either proprietary/ folder,
so SurfSense holds all of that code's copyright and needs no contributor
agreement. The docs and ADRs say so.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 21:50:01 +05:30
Anish Sarkar
a989bb55d0 ci: keep only repo-wide checks shared and have each product lint, scan and test itself
code-quality.yml ran every pre-commit hook minus a skip list in each job, so
newer hooks leaked in: check-docs ran four times per PR, the translation hooks
ran in every job, and Biome ran on every PR whether the web app changed or not.
The desktop backend had no security scan at all, the gates counted a cancelled
or timed-out job as passing, and hooks pinned tool versions a second time.

- code-quality.yml keeps only what belongs to no product, run by hook name on
  every PR: file checks, check-docs and detect-secrets
- docker-tests.yml replaces backend-tests.yml and e2e-tests.yml for
  surfsense_backend and surfsense_web: ruff, bandit, Biome, backend unit and
  integration tests, and the e2e journey, each job run only when its files
  change
- desktop-tests.yml filters per job instead of per workflow, adds bandit for
  the desktop backend, and checks translations, failing on a stale en.json
  that typecheck used to regenerate silently
- each workflow ends in a gate (Docker Gate, Desktop Gate, Quality Gate) that
  always reports and fails on failed or cancelled jobs, so it can be made a
  required check without blocking PRs that don't touch that product
- bandit is split into bandit-docker and bandit-desktop aliases, so each
  product scans only its own code
- the Biome hook runs only when a commit touches surfsense_web, instead of
  blocking every commit on the app's existing formatting errors
- Biome and formatjs run from each app's own install (pnpm exec, and a new
  translations:verify script), so their versions live only in package.json
- hook versions updated: pre-commit-hooks v6.0.0, bandit 1.9.4, commitizen
  v4.19.0, and ruff v0.15.8 to match surfsense_backend's own ruff
- surfsense_web's pnpm comes from its own package.json and the root
  package.json is removed; every action is on its latest version
- CONTRIBUTING.md, docs/contracts/README.md, auth_mint.py, the translate
  skill and localization.md name the new workflows and commands
2026-09-25 18:23:56 +05:30
DESKTOP-RTLN3BA\$punk
3313fa1448 docs: reorganize engineering docs under docs/
Move the engineering specs out of plans/ into a root docs/ folder.
architecture/ describes what is true in the code now, one doc per
feature. adr/ records decisions: 0003 is restored and 0004-0027 are
new. proposals/ holds designs not built yet: plugins and the CUDA
backend. contracts/ holds the frozen interfaces between trees, with
the fixtures their tests read. ROADMAP.md names the initiatives.

The shipped phase plans are deleted; git history keeps them. plans/
keeps business, launch and ops material only.

Also: CONTRIBUTING.md rewritten around this flow, a CODEOWNERS file,
a Docs section in AGENTS.md, scripts/check_docs.py (was
check_plan_links.py) as a pre-commit hook, the backend tests path
filter extended to docs/contracts, and the five tests that read the
contract fixtures pointed at their new path.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-22 21:27:26 -07:00
CREDO23
626e7712f1 docs: add backend and web READMEs so each product has a setup path 2026-09-18 08:52:14 +02:00
CREDO23
48a97bea68 docs: make first contributions match one tree, not the old hosted stack
Replace the Docker-first contributing guide with a short index, current Covenant 3.0, private security reports, and issue forms that name the four products.
2026-09-18 08:52:14 +02:00
CREDO23
e57c96452c chore: drop sunset client trees from the working repo
Keep backend, web, local, and MCP. Desktop wrapper, browser extension,
Obsidian plugin, and evals remain on archive/hosted-2026-09.
2026-09-18 08:50:39 +02:00
DESKTOP-RTLN3BA\$punk
49149ece1d feat(local): more pre release tweaks 2026-09-17 21:19:21 -07:00
Yigtwxx
6db02fe3f4 docs: point CONTRIBUTING at the tooling the repo actually uses
The Code Quality section sends a new contributor to ./PRE_COMMIT.md, which
is not in the repository, and then names Black and Prettier as the project's
formatters. .pre-commit-config.yaml runs ruff, ruff-format and biome; neither
Black nor Prettier is configured anywhere.

Replaces the dead link with the install command and the config file itself,
so the list of hooks cannot drift out of date again, and corrects the two
formatter names.
2026-08-06 08:55:15 +03:00
Benebo7
a6c6b4b3d8 docs: Improve contributor Docker setup guide and fix broken link 2026-07-11 14:53:35 -03:00
DESKTOP-RTLN3BA\$punk
8d6e249c10 docs: update CONTRIBUTING.md to clarify branching workflow and PR submission process 2026-03-25 03:09:05 -07:00
DESKTOP-RTLN3BA\$punk
50edeadcaa chore: update links in documentation and metadata to use the correct domain 2025-12-09 01:27:13 -08:00
Sabin Shrestha
5d4012b14f docs: add pre-commit hooks section to CONTRIBUTING.md and create PRE_COMMIT.md guide 2025-07-21 22:56:17 +05:45
DESKTOP-RTLN3BA\$punk
c12562facd docs: Add contributing.md 2025-07-07 21:44:43 -07:00