Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Default reviewer for everything. Add narrower rules below as the team grows.
* @itsmeakhil
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Shows the "Sponsor" button on the repo. Requires the listed account to be
# enrolled at https://github.com/sponsors.
github: [itsmeakhil]
38 changes: 0 additions & 38 deletions .github/ISSUE_TEMPLATE/bug_report.md

This file was deleted.

105 changes: 105 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
name: 🐛 Bug report
description: Something in MyDevTools is broken or behaves unexpectedly
labels: ["bug", "needs triage"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report this.

**Security vulnerability?** Do **not** file it here — report it privately via
[Security advisories](https://github.com/mydevtools-tech/mydevtools/security/advisories/new).

**Please redact secrets.** No real tokens, passwords or production connection
strings in a public issue — reproduce with dummy data.

- type: checkboxes
id: checks
attributes:
label: Before you start
options:
- label: I searched [existing issues](https://github.com/mydevtools-tech/mydevtools/issues?q=is%3Aissue) and found nothing related.
required: true
- label: I am on the [latest release](https://github.com/mydevtools-tech/mydevtools/releases/latest), or the bug is also there.
required: false

- type: input
id: tool
attributes:
label: Which tool?
placeholder: e.g. JSON Formatter, API Client, SQL Client, Password Manager, app-wide
validations:
required: true

- type: textarea
id: what
attributes:
label: What happened?
description: What you did, what you expected, what happened instead.
placeholder: |
1. Open '...'
2. Enter '...'
3. Click '...'
4. See error
validations:
required: true

- type: textarea
id: sample
attributes:
label: Sample input (if relevant)
description: The smallest input that triggers it — secrets replaced by dummy values.
render: text

- type: checkboxes
id: severity
attributes:
label: How bad is it?
options:
- label: Makes MyDevTools unusable for me
- label: Slows me down but I can keep working
- label: Annoying
- label: Worked in a previous version, broken in the current one

- type: input
id: version
attributes:
label: MyDevTools version
description: Settings → About
placeholder: e.g. 0.1.14
validations:
required: true

- type: dropdown
id: os
attributes:
label: Operating system
options:
- macOS (Apple Silicon)
- macOS (Intel)
- Windows (built from source)
- Linux (built from source)
- Other (say which below)
validations:
required: true

- type: input
id: os-version
attributes:
label: OS version / distro
placeholder: e.g. macOS 15.2, Ubuntu 24.04

- type: dropdown
id: source
attributes:
label: Installed from
options:
- GitHub release (.dmg)
- mydevtools.tech download link
- Built from source

- type: textarea
id: extra
attributes:
label: Screenshots, logs or anything else
description: If it is visual, a screenshot or short clip helps a lot. When it started, whether it is intermittent, etc.
14 changes: 14 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
blank_issues_enabled: false
contact_links:
- name: 💬 Question or discussion
url: https://github.com/mydevtools-tech/mydevtools/discussions
about: Ask a question, share a workflow, or discuss an idea before it becomes an issue.
- name: 🔒 Report a security vulnerability
url: https://github.com/mydevtools-tech/mydevtools/security/advisories/new
about: Report privately. Please do not open a public issue for a security problem.
- name: 🆘 Support and troubleshooting
url: https://github.com/mydevtools-tech/mydevtools/blob/main/SUPPORT.md
about: Common questions, what to include in a report, and where to get help.
- name: 🗺️ Roadmap
url: https://github.com/mydevtools-tech/mydevtools/blob/main/ROADMAP.md
about: See what is being worked on now, what is next, and what is not planned.
20 changes: 0 additions & 20 deletions .github/ISSUE_TEMPLATE/feature_request.md

This file was deleted.

80 changes: 80 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: ✨ Feature request
description: Suggest a new tool, or an improvement to an existing one
labels: ["enhancement", "needs triage"]
body:
- type: markdown
attributes:
value: |
Worth a look first:
- [ROADMAP.md](https://github.com/mydevtools-tech/mydevtools/blob/main/ROADMAP.md) — it may already be planned, or explicitly not planned.
- [Existing issues](https://github.com/mydevtools-tech/mydevtools/issues?q=is%3Aissue) — someone may have asked already; a 👍 counts as a vote.

- type: checkboxes
id: checks
attributes:
label: Before you start
options:
- label: I searched existing issues and the roadmap and found nothing covering this.
required: true

- type: dropdown
id: area
attributes:
label: Which part of MyDevTools?
options:
- A new tool
- An existing tool (name it below)
- API client
- Database clients (SQL / MongoDB / Redis / S3)
- App-wide (sidebar, command palette, settings, i18n…)
- Website / docs
validations:
required: true

- type: textarea
id: problem
attributes:
label: What problem are you trying to solve?
description: Describe the problem, not only the solution you have in mind — the underlying problem often has a simpler answer.
validations:
required: true

- type: textarea
id: workaround
attributes:
label: What do you do today instead?
description: The current workaround — another app, a script, a website, doing it by hand.

- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
validations:
required: true

- type: dropdown
id: frequency
attributes:
label: How often do you hit this?
description: This genuinely affects priority.
options:
- Daily
- Weekly
- Occasionally
validations:
required: true

- type: checkboxes
id: constraints
attributes:
label: Does it fit the constraints?
description: MyDevTools is offline-first, account-free, has no backend, and is free and open source. Anything requiring a mandatory server, sign-in or paid tier is out of scope.
options:
- label: This works fully offline, or I have explained below exactly what it connects to and why.
required: true

- type: textarea
id: extra
attributes:
label: Alternatives considered / additional context
description: Other approaches, tools that already do this well, screenshots, links.
51 changes: 51 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<!--
Thanks for contributing! Keep this short — a focused PR gets reviewed faster.
See CONTRIBUTING.md if this is your first one.
-->

## What does this change?

<!-- One or two sentences. What is different after this PR? -->

Closes #

## Why?

<!-- The problem being solved. Link the issue if there is one. -->

## Type of change

- [ ] Bug fix
- [ ] New tool
- [ ] Improvement to an existing tool
- [ ] Documentation
- [ ] Translation
- [ ] Chore (deps, config, tooling)

## How did you verify it?

<!-- Commands you ran, cases you tried, what you clicked through. -->

## Screenshots

<!-- For UI changes: before/after, or a short clip. Delete if not applicable. -->

## Checklist

- [ ] `pnpm lint` passes
- [ ] Tests pass (`cd apps/desktop-ui && pnpm test`), and logic changes have a test
- [ ] User-visible strings go through `useTranslations("<Namespace>")` — nothing hardcoded
- [ ] New/changed keys added to `messages/en.json`, then `pnpm i18n:sync` run
- [ ] Async mutations that can fail are wrapped in `try/catch` with `toast.error(message)`
- [ ] No new mandatory network call, sign-in, sync or backend — the app still works fully offline
- [ ] No secrets, tokens or personal data in the diff

### New tool only

- [ ] Registered in all six registries (`metadata.ts`, `route-config.ts`, `tab-registry.tsx`, `tool-categories.ts`, `tool-i18n.ts`, `sidebar-data.ts`)
- [ ] Logic lives in `src/lib/<slug>.ts` with a test in `src/lib/__tests__/`
- [ ] Uses `ToolPageHeader` with the category accent, like the other tools

## Anything reviewers should know?

<!-- Trade-offs, follow-up work, parts you are unsure about. -->
27 changes: 27 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
groups:
actions:
patterns: ["*"]

- package-ecosystem: npm
directory: /
schedule:
interval: weekly
open-pull-requests-limit: 5
groups:
minor-and-patch:
update-types: ["minor", "patch"]

- package-ecosystem: cargo
directory: /apps/desktop/src-tauri
schedule:
interval: weekly
open-pull-requests-limit: 5
groups:
minor-and-patch:
update-types: ["minor", "patch"]
Loading
Loading