Files
hqhq1025 d342eae5b6 docs(packaging): scaffold Homebrew / winget / Scoop manifests
Add canonical package-manager manifests under packaging/ for the three
channels the v0.1.0 release ships to:

- Homebrew Cask — Casks/open-codesign.rb, two DMG URLs (arm64 + x64)
  with a Gatekeeper caveat surfacing the xattr workaround since we
  don't sign in v0.1.
- winget — the three-file manifest tree under
  manifests/o/OpenCoworkAI/open-codesign/0.1.0/ that microsoft/winget-pkgs
  expects, both x64 and arm64 installers.
- Scoop — open-codesign.json for a future OpenCoworkAI/scoop-bucket
  with checkver + autoupdate wired up.

\`packaging/update-shas.sh\` is the release-time helper: it fetches the
GitHub Release artifacts (or hashes a local directory), drops the real
SHA256s into the REPLACE_WITH_*_SHA256 placeholders, and also bumps
version strings where needed. Run it once the release is live, commit
the diff, then mirror the per-channel files to the downstream repos.

README / README.zh-CN: replace the single "download from Releases"
blurb with a "Install via package manager (recommended) / direct
download" split so the brew / winget / scoop one-liners are the
first thing users see.
2026-04-21 01:35:39 +08:00

76 lines
1.7 KiB
JSON

{
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
"vcs": {
"enabled": true,
"clientKind": "git",
"useIgnoreFile": true
},
"files": {
"ignore": [
"**/dist/**",
"**/dist-electron/**",
"**/.next/**",
"**/node_modules/**",
"**/coverage/**",
"**/.turbo/**",
"**/vendor/**",
"packaging/**"
]
},
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2,
"lineWidth": 100,
"lineEnding": "lf"
},
"javascript": {
"formatter": {
"quoteStyle": "single",
"trailingCommas": "all",
"semicolons": "always",
"arrowParentheses": "always"
}
},
"json": {
"formatter": {
"trailingCommas": "none"
}
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"suspicious": {
"noExplicitAny": "error",
"noArrayIndexKey": "off",
"noAssignInExpressions": "off",
"noPrototypeBuiltins": "off",
"noDuplicateObjectKeys": "warn"
},
"style": {
"noNonNullAssertion": "warn",
"useImportType": "error",
"useLiteralEnumMembers": "off",
"noCommaOperator": "off"
},
"complexity": {
"noExcessiveCognitiveComplexity": "off",
"noForEach": "off",
"useLiteralKeys": "off"
},
"correctness": {
"useExhaustiveDependencies": "warn"
},
"a11y": {
"useButtonType": "off",
"useFocusableInteractive": "off",
"useSemanticElements": "off",
"noSvgWithoutTitle": "off",
"useKeyWithClickEvents": "off",
"useValidAnchor": "off"
}
}
}
}