wayBetter for X

This commit is contained in:
CRTkafa 2026-10-01 06:01:13 +07:00
commit 2f1e35ba20
720 changed files with 147465 additions and 0 deletions

View file

@ -0,0 +1,59 @@
name: Submit a plugin to the Store
about: No git needed. Attach your .plugin.js and a maintainer adds it to the wayBetter Store.
title: "Store plugin: "
body:
- type: markdown
attributes:
value: |
Attach the file and answer the questions. A maintainer puts it in a folder under `store/x/plugins/`, runs the checks (`bun run check:store`), reads the code, then builds and signs the catalog. The Store's signing key is offline by design, so publishing takes that extra step.
Before you send: drop the file on the wayBetter window and see that it installs and works.
- type: textarea
id: file
attributes:
label: The plugin file
description: Drag your `name.plugin.js` here (and a 640×400 preview `.svg` or `.png`, if you made one). The header needs `@name`, `@version`, `@description` (50 characters or more), `@author` and `@permissions`.
validations:
required: true
- type: input
id: id
attributes:
label: Store id
description: Lower-case letters, digits and hyphens, up to 40. It becomes the address /store/plugins/<id>/.
placeholder: hide-trends
validations:
required: true
- type: dropdown
id: category
attributes:
label: Category
options:
- reading
- writing
- filters
- focus
- tools
validations:
required: true
- type: input
id: tags
attributes:
label: Tags
description: Up to 12 words people would search for, separated by commas.
placeholder: trends, sidebar
- type: textarea
id: what
attributes:
label: What it does and what it uses
description: What a user sees, which permissions it declares and why. If it declares `network`, name the server and what is sent.
validations:
required: true
- type: checkboxes
id: terms
attributes:
label: Confirm
options:
- label: I wrote this, or I may publish it under GPL-3.0-or-later.
required: true
- label: The code is readable (not minified) and loads or evaluates nothing at run time.
required: true

View file

@ -0,0 +1,43 @@
name: Submit a theme to the Store
about: No git needed. Attach your theme .json and a maintainer adds it to the wayBetter Store.
title: "Store theme: "
body:
- type: markdown
attributes:
value: |
Attach the file and answer the questions. A maintainer puts it in a folder under `store/x/themes/`, runs the checks (`bun run check:store`), then builds and signs the catalog. The Store's signing key is offline by design, so publishing takes that extra step.
Export the theme from wayBetter → Appearance (or the Theme Builder) so the file is complete.
- type: textarea
id: file
attributes:
label: The theme file
description: Drag your theme `.json` here (and a 640×400 preview `.svg` or `.png`, if you made one; without one the preview is drawn from the theme). It needs a `name`, an `author` and a `description` of 50 characters or more.
validations:
required: true
- type: input
id: id
attributes:
label: Store id
description: Lower-case letters, digits and hyphens, up to 40. It becomes the address /store/themes/<id>/.
placeholder: midnight-mint
validations:
required: true
- type: input
id: tags
attributes:
label: Tags
description: Up to 12 words people would search for, separated by commas.
placeholder: dark, mint, compact
- type: textarea
id: notes
attributes:
label: Anything a reviewer should know
description: For example that the theme carries custom CSS, embeds a picture, or uses Google Fonts. Say where an embedded picture comes from and that you may share it.
- type: checkboxes
id: terms
attributes:
label: Confirm
options:
- label: I made this theme, or I may publish it under GPL-3.0-or-later.
required: true

View file

@ -0,0 +1,30 @@
name: Fix or improve a translation
about: No git needed. Attach the changed language file, or list the strings that read wrong.
title: "Translation: "
body:
- type: markdown
attributes:
value: |
The app's languages are built in (they are not Store items) and ship with the next app update. The files are `apps/desktop/locales/<tag>.json`; docs/TRANSLATING.md explains the message syntax. A maintainer runs `bun run i18n:check` on your change before merging it.
- type: input
id: language
attributes:
label: Language
placeholder: Turkish (tr)
validations:
required: true
- type: textarea
id: change
attributes:
label: The change
description: Drag the edited `<tag>.json` here, or write each string as "where it appears / what it says now / what it should say".
validations:
required: true
- type: checkboxes
id: who
attributes:
label: About you
options:
- label: I speak this language fluently.
required: true
- label: I went through the whole file (it can be marked "reviewed").

View file

@ -0,0 +1,31 @@
<!-- Thank you. Keep what applies and delete the rest. -->
## What this changes
## Checks I ran
- [ ] `bun run build`
- [ ] `bun run test`
- [ ] `bun run check:store` (a Store theme or plugin)
- [ ] `bun run i18n:check` prints `0 error(s)` (a translation)
## A theme or plugin for the Store
- Folder: `store/x/plugins/<id>/` or `store/x/themes/<id>/`
- What it does, in a sentence:
- What it uses (a plugin's `@permissions`), and which server it contacts if it declares `network`:
- [ ] I wrote it, or I may publish it under GPL-3.0-or-later (say where it comes from otherwise)
- [ ] A plugin's code is readable: not minified, nothing loaded or evaluated at run time
- [ ] I tried it in the app (dropped the file on the wayBetter window)
A maintainer reads the code, then builds and signs the catalog after the merge. The signing key is
offline by design, so the item appears in the Store after that step, not at merge time.
## A translation
- Language (file under `apps/desktop/locales/`):
- [ ] I speak it fluently
- [ ] I went through the whole file (`"status": "reviewed"`), or: I fixed specific strings
By contributing you agree that your contribution is licensed under GPL-3.0-or-later.