Back to Explorer
Beginner Friendly Open-Source Java

Good First Issues in Java

Explore curated starter issues in high-scoring Java repositories. Every listed issue belongs to a welcoming repository scored by C-Rank™ on PR merge rates, review responsiveness, and first-timer acceptance.

Updated: Thu, 15 Oct 2026 UTC (Live GitHub Sync)
Real-Time Radar

Arm Issue Sniper for fresh Java beginner issues

Beginner issues in welcoming S/A-Tier repositories get snatched within 15 minutes. Receive instant alerts on Discord, Telegram, or Email the minute a maintainer opens a new task.

Live Good First Issues (30)

Real-Time Open GitHub Issues
kestra-io/kestra29,520 Tier A · 70 pts
#20830Opened 2 days ago
Replace Bootstrap utility classes in `Gantt.vue`

ui/src/components/executions/Gantt.vue uses 10 Bootstrap utility classes. Bootstrap is being removed from the design system, so each one should become CSS written with the --ks-* tokens from ui/packages/design-system, in the component's existing <style scoped lang="scss"> block. Where Line Element Classes 88 <div class="d-flex flex-column"> d-flex, flex-column 90 <div class="gantt-row d-flex cursor-icon"> d-flex 94 <div class="d-inline-flex"> d-inline-flex 122 <Warning class="attempt_warn me-3"> me-3 139 <div class="task-duration d-none d-md-inline-block"> d-none, d-md-inline-block 155 <div class="task-details__inner p-2"> p-2 162 <TaskRunDetails class="mh-100 mx-3"> mh-100, mx-3 Bootstrap's spacing steps stop matching the token steps after 2: -3 is --ks-spacing-4. So me-3 takes var(--ks-spacing-4), not var(--ks-spacing-3). Done when No Bootstrap class is left in Gantt.vue: none of the utilities above. The PR has before and after screenshots in light and dark mod

area/frontendkind/cooldowngood first issue
3
kestra-io/kestra29,520 Tier A · 70 pts
#20829Opened 2 days ago
Replace Bootstrap utility classes in `Sections.vue`

ui/src/components/dashboard/sections/Sections.vue uses 10 Bootstrap utility classes. Bootstrap is being removed from the design system, so each one should become CSS written with the --ks-* tokens from ui/packages/design-system, in the component's existing <style scoped lang="scss"> block. Where Line Element Classes 12 <div class="d-flex flex-column"> d-flex, flex-column 13 <div class="d-flex justify-content-between"> d-flex, justify-content-between 16 <span class="fs-6 fw-bold"> fs-6, fw-bold 21 <small class="fw-light"> fw-light 40 <KsButton class="ms-2"> ms-2 68 <KsButton class="ms-2"> ms-2 74 <div class="flex-grow-1"> flex-grow-1 Done when No Bootstrap class is left in Sections.vue: none of the utilities above. The PR has before and after screenshots in light and dark mode, and the component looks the same. cd ui && npm run check:types && npm run test:unit && npm run lint && npm run check:ts-any passes.

area/frontendkind/cooldowngood first issue
2
kestra-io/kestra29,520 Tier A · 70 pts
#20828Opened 2 days ago
Replace Bootstrap utility classes in `LogLevelNavigator.vue`

ui/src/components/logs/LogLevelNavigator.vue uses 8 Bootstrap utility classes. Bootstrap is being removed from the design system, so each one should become CSS written with the --ks-* tokens from ui/packages/design-system, in the component's existing <style scoped lang="scss"> block. Where Line Element Classes 3 <div class="d-flex kel-select__wrapper space-between gap-2"> d-flex, gap-2 12 <div class="d-flex align-items-center gap-2"> d-flex, align-items-center, gap-2 16 <div class="d-flex align-items-end gap-1"> d-flex, align-items-end, gap-1 Done when No Bootstrap class is left in LogLevelNavigator.vue: none of the utilities above. The PR has before and after screenshots in light and dark mode, and the component looks the same. cd ui && npm run check:types && npm run test:unit && npm run lint && npm run check:ts-any passes.

area/frontendkind/cooldowngood first issue
2
kestra-io/kestra29,520 Tier A · 70 pts
#20827Opened 2 days ago
Replace Bootstrap utility classes in `Namespaces.vue`

ui/src/override/components/namespaces/Namespaces.vue uses 6 Bootstrap utility classes. Bootstrap is being removed from the design system, so each one should become CSS written with the --ks-* tokens from ui/packages/design-system, in the component's existing <style scoped lang="scss"> block. Where Line Element Classes 27 <KsCol class="p-3 namespaces"> p-3 40 <KsTree class="h-auto p-2 rounded-full"> h-auto, p-2 52 <div class="d-flex"> d-flex 53 <FolderOpenOutline class="me-2 icon"> me-2 54 <span class="pe-3"> pe-3 Bootstrap's spacing steps stop matching the token steps after 2: -3 is --ks-spacing-4. So p-3 takes var(--ks-spacing-4), not var(--ks-spacing-3). Done when No Bootstrap class is left in Namespaces.vue: none of the utilities above. The PR has before and after screenshots in light and dark mode, and the component looks the same. cd ui && npm run check:types && npm run test:unit && npm run lint && npm run check:ts-any passes.

area/frontendkind/cooldowngood first issue
2
kestra-io/kestra29,520 Tier A · 70 pts
#20826Opened 2 days ago
Replace Bootstrap utility classes in `Flows.vue`

ui/src/components/flows/Flows.vue uses 6 Bootstrap utility classes. Bootstrap is being removed from the design system, so each one should become CSS written with the --ks-* tokens from ui/packages/design-system, in the component's existing <style scoped lang="scss"> block. Where Line Element Classes 10 <input class="d-none"> d-none 107 <router-link class="me-1"> me-1 111 <KsTag class="me-1"> me-1 190 <div class="d-flex justify-content-between align-items-center"> d-flex, justify-content-between, align-items-center Done when No Bootstrap class is left in Flows.vue: none of the utilities above. The PR has before and after screenshots in light and dark mode, and the component looks the same. cd ui && npm run check:types && npm run test:unit && npm run lint && npm run check:ts-any passes.

area/frontendkind/cooldowngood first issue
2
apache/gravitino3,245 Tier A · 69 pts
#13803Opened 2 days ago
[Improvement] upgrade lance version to 12 for Gravitino lance REST server

What would you like to be improved? keep consistent with Lance community How should we improve? No response

help wantedimprovement
JabRef/jabref4,803 Tier A · 67 pts
#17445Opened 4 days ago
Enter should accept the value - for single line fields.

new empty libary Double click "Corti" Go to Citation Key Replace by "Test" Press Enter Expected: Focus is put to the tab itself (as if I would click on "Citation Key") Actual: text field keeps focus.

component: entry-editorgood first issue📍 Assigned
6
SasanLabs/VulnerableApp471 Tier A · 65 pts
#831Opened 4 days ago
The RS256 private key is served over HTTP from the JWT templates directory

GET /VulnerableApp/templates/JWTVulnerability/keys/private_key.pem returns 200 with a PEM private key, 1850 bytes. It is the RS256 key from sasanlabs.p12. That key signs the tokens of LEVEL_8, LEVEL_9 and LEVEL_13. They read it from JWTAlgorithmKMS through getAsymmetricAlgorithmKey. Those three levels are forgeable by design already, so this does not weaken them. What it does do: It publishes a private key at a path no level teaches. A scanner that reports it is right. It rules that key out for any secure RS256 level. #826 generates its own key pair at startup for this reason. Nothing reads the two PEM files. Both reads sit inside the commented out level in JWTVulnerability.java, and no document, template or message refers to the path. They were added in 2020 by 555eb91. My suggestion is to delete both files, or to move them out of static/ if a later level needs them. How I checked, on master c49b262 The app ran from its own bootJar. Served: private_key.pem 200 at 1850 bytes, public

enhancementgood first issue
1
jvondermarck/dinosaur-exploder111 Tier B · 60 pts
#513Opened 4 days ago
[Feature]: Adding a full screen option for the game.

👉 Please confirm the following I agree to follow the Code of Conduct that this project adheres to. I checked the current issues for duplicate features. 🤔 Is your proposal related to a problem? yes 😍 Describe the solution you'd like In the game the full screen option does not works (its excluded). Adding a full screen option. And a window resizing option. And even what is present does not fits the screen. See the video for reference --> Screen.Recording.2026-10-11.194846.mp4

good first issuedifficulty: mediumtype: user-experiencehacktoberfest
2
kestra-io/kestra29,520 Tier A · 70 pts
#20654Opened 5 days ago
Flow editor tab labels are not translated

ImportantThis issue is not ready for contributions yet. The Kestra team still has to review it. Please wait until this message is removed and the issue has been move to Backlog stage before you start working on it. Pull requests opened before that will not be reviewed. In the meantime, feel free to get started on a different issue by checking out our good first issues list. Describe the issue The tab buttons in the flow editor stay in English when the UI language is changed. Steps: Settings > Language > Français (any non-English language) Open a flow and click Edit The tabs still read "Flow Code", "No Code", "Topology", "Docs", "Files" and "Blueprints", while the rest of the page is translated. The labels are plain strings in ui/src/override/components/flows/panelDefinition.ts (lines 25-73), and MultiPanelEditorTabs.vue / MultiPanelTabs.vue print button.label as is. The "No Code" label in ui/src/components/flows/useNoCodePanels.ts (line 113) is the same. Some of these words alrea

area/frontendkind/quick-wingood first issue
6
MuntashirAkon/AppManager9,208 Tier D · 8 pts
#2063Opened 5 days ago
What does the Activity enable/disable switch represent?

Please check before submitting an issue I have searched the issues and haven't found anything relevant I have read the docs I know that generating a report, in whole part or in part, using AI/LLM is prohibited Describe the existing feature/documentation I would like to understand the meaning of the enable/disable switches in the Activity list and how App Manager determines whether an Activity is enabled or disabled. Describe your problem(s) When viewing the Activities of an app, the switches appear to be enabled for all Activities, including those that have been disabled using another app (e.g. Blocker) through package manager (pm). I have also refreshed the list many times. I checked the output of adb shell dumpsys package <package_name> and found the relevant Activities listed under disabledComponents. I am not sure whether the switches represent the actual enabled state of each component, a state managed by App Manager itself, or something else. Could someone clarify the follow

Help Wanted
#503Opened 5 days ago
[Feature]: reduce speed of asteroids in Easy mode

👉 Please confirm the following I agree to follow the Code of Conduct that this project adheres to. I checked the current issues for duplicate features. 🤔 Is your proposal related to a problem? Enemies' speed is pretty slow while asteroids pretty fast. 😍 Describe the solution you'd like Let's change asteroids speed for the Easy mode Tiny hint: would need to make a change for example in this file GameMode, to add a new field for asteroid speed. 👍️ Describe alternatives you've considered No response ✍ Additional context No response

type: enhancementgood first issuedifficulty: easyjava
#10521Opened 6 days ago
fix(rest): JSON deserialization errors on ccompat endpoints return v3 ProblemDetails instead of the Confluent error shape

A JSON body that fails to deserialize on a ccompat endpoint gets a v3 ProblemDetails error instead of the Confluent {error_code, message} shape, and the response leaks the server exception class name. Follow-up from #10150 (review item O1), which moved the API-surface dispatch into ApiSurfaceResolver but intentionally left this mapper out of scope. Reproduce On current main, against a running registry: POST /apis/ccompat/v7/subjects/{subject}/versions Content-Type: application/json {"schema": {"not": "a string"}} returns 400: {"detail":"BadRequestException: Cannot deserialize value of type `java.lang.String` from Object value (token `JsonToken.START_OBJECT`)","title":"Cannot deserialize value of type `java.lang.String` from Object value (token `JsonToken.START_OBJECT`)","status":400,"name":"BadRequestException"} By contrast, a ccompat 404 from the same API correctly returns {"message":"Subject 'does-not-exist' not found.","error_code":40401}. Cause app/src/main/java/io/apicurio/regis

type/bugBeginner Friendlyarea/restarea/rest/ccompat
2
apache/seatunnel9,709 Tier A · 68 pts
#12707Opened 6 days ago
[Feature][Client] Make SeaTunnel installable and runnable from PyPI (pip install)

Search before asking I had searched in the feature and found no similar feature requirement. Description Background SeaTunnel cannot be started with a single pip install. Users who work in Python (notebooks, CI jobs, data / AI pipelines) have to download a distribution tarball, unpack it, set SEATUNNEL_HOME, make sure Java is available and install connector plugins by hand before they can run a config. This issue proposes a way for SeaTunnel to be installed and invoked directly from PyPI. What SeaTunnel has today No SeaTunnel package is published on PyPI (seatunnel, apache-seatunnel, seatunnel-cli all return 404). tools/seatunnel-python-sdk (merged in #10184, distribution name seatunnel, version 0.1) is only a REST client (httpx); it needs an already running engine. seatunnel-cli (seatunnel-cli/pyproject.toml, console script seatunnel) needs SEATUNNEL_HOME or a running engine for /run and /check and bundles no engine. It also has its own seatunnel_cli/rest.py that duplicates REST c

help wanted
5
keycloak/keycloak37,315 Tier A · 68 pts
#53804Opened 6 days ago
Operator Helm chart renders null version labels because Chart.yaml lacks appVersioN

Before reporting an issue I have read and understood the above terms for submitting issues, and I understand that my issue may be closed without action if I do not follow them. Area operator Describe the bug The official chart oci://quay.io/keycloak/keycloak-operator-helm:26.8.0 renders app.kubernetes.io/version as YAML null on controller RoleBindings. The published Chart.yaml does not define appVersion, but the affected templates reference .Chart.AppVersion without quoting or a fallback. In our Argo CD deployment, this caused persistent OutOfSync status. Enabling ServerSideApply=true alone did not resolve it. Adding argocd.argoproj.io/compare-options: ServerSideDiff=true resolved the comparison issue, but the chart still emits the null-valued label. Additional context The chart is generated by the Quarkus Helm extensions: https://github.com/keycloak/keycloak/blob/26.8.0/operator/README.md#helm-chart The generation configuration does not set quarkus.helm.app-version: https://github.

kind/bughelp wantedteam/cloud-nativearea/operator
3
AI-WorkDeck/aiworkdeck151 Tier B · 49 pts
#1084Opened 6 days ago
GFI: Fix one frontend locale namespace key parity gap / 补齐一组 locale 键对拍缺口

Why Follow frontend/src/locales/CONVENTIONS.md. zh-CN / en-US namespace files must have identical key sets (npm run check:locales). Task From frontend/, run npm run check:locales (or node scripts/check-locale-parity.mjs). Pick one failing namespace file pair (e.g. editor.js or whichever fails). Add the missing keys on the other side; translate via glossary.md (add glossary rows first if a term is new). Re-run check until that namespace (ideally the whole suite) passes. Acceptance PR touches at most one namespace pair (+ glossary if needed) check:locales green for that namespace No emoji; EN uses English punctuation only Claim Comment「认领」below before starting. Please read .github/CONTRIBUTING.md and sign legal/CLA.md. Not in scope Large i18n refactors; extracting new hard-coded UI strings (separate issue).

help wantedgood first issuearea: frontendpriority: medium
zeweihan/aiworkdeck151 Tier A · 58 pts
#1084Opened 6 days ago
GFI: Fix one frontend locale namespace key parity gap / 补齐一组 locale 键对拍缺口

Why Follow frontend/src/locales/CONVENTIONS.md. zh-CN / en-US namespace files must have identical key sets (npm run check:locales). Task From frontend/, run npm run check:locales (or node scripts/check-locale-parity.mjs). Pick one failing namespace file pair (e.g. editor.js or whichever fails). Add the missing keys on the other side; translate via glossary.md (add glossary rows first if a term is new). Re-run check until that namespace (ideally the whole suite) passes. Acceptance PR touches at most one namespace pair (+ glossary if needed) check:locales green for that namespace No emoji; EN uses English punctuation only Claim Comment「认领」below before starting. Please read .github/CONTRIBUTING.md and sign legal/CLA.md. Not in scope Large i18n refactors; extracting new hard-coded UI strings (separate issue).

help wantedgood first issuearea: frontendpriority: medium
AI-WorkDeck/aiworkdeck151 Tier B · 49 pts
#1083Opened 6 days ago
GFI: English twin for hello-web-plugin README / hello-web-plugin 英文 README

Why i18n / contributor on-ramp. examples/hello-web-plugin/README.md is Chinese-only; international contributors bounce. Task Either: Add a clear English section to the same README, or Add README.en.md and link it from the top of the Chinese README Keep technical commands identical; do not invent APIs. Acceptance English content covers install paths, demos (awd.ready, files, toast, storage, evidence.list), and sandbox boundaries Links to PLUGIN_SPEC / SDK still work Not in scope Rewriting the plugin code or SDK.

help wantedgood first issuearea: pluginsarea: docs
1
zeweihan/aiworkdeck151 Tier A · 58 pts
#1083Opened 6 days ago
GFI: English twin for hello-web-plugin README / hello-web-plugin 英文 README

Why i18n / contributor on-ramp. examples/hello-web-plugin/README.md is Chinese-only; international contributors bounce. Task Either: Add a clear English section to the same README, or Add README.en.md and link it from the top of the Chinese README Keep technical commands identical; do not invent APIs. Acceptance English content covers install paths, demos (awd.ready, files, toast, storage, evidence.list), and sandbox boundaries Links to PLUGIN_SPEC / SDK still work Not in scope Rewriting the plugin code or SDK.

help wantedgood first issuearea: pluginsarea: docs
1
AI-WorkDeck/aiworkdeck151 Tier B · 49 pts
#1082Opened 6 days ago
GFI: Add bilingual README for hello-declarative-plugin / 声明式插件示例 README

Why examples/hello-declarative-plugin/ has manifest + l10n + template but no README. hello-web-plugin already has a strong Chinese README to mirror. Task Add examples/hello-declarative-plugin/README.md (CN + EN) covering: What a declarative plugin is (no Java) How l10n %name% keys map to l10n/zh-CN.json / en-US.json How to install (same plugin dirs as hello-web-plugin) What template / styleProfile / settings it contributes Link to docs/plugin-guide.md or PLUGIN_SPEC.md Acceptance README present and accurate against current manifest Install path table included Not in scope Changing plugin behavior.

help wantedgood first issuearea: pluginsarea: docs
1
zeweihan/aiworkdeck151 Tier A · 58 pts
#1082Opened 6 days ago
GFI: Add bilingual README for hello-declarative-plugin / 声明式插件示例 README

Why examples/hello-declarative-plugin/ has manifest + l10n + template but no README. hello-web-plugin already has a strong Chinese README to mirror. Task Add examples/hello-declarative-plugin/README.md (CN + EN) covering: What a declarative plugin is (no Java) How l10n %name% keys map to l10n/zh-CN.json / en-US.json How to install (same plugin dirs as hello-web-plugin) What template / styleProfile / settings it contributes Link to docs/plugin-guide.md or PLUGIN_SPEC.md Acceptance README present and accurate against current manifest Install path table included Not in scope Changing plugin behavior.

help wantedgood first issuearea: pluginsarea: docs
1
AI-WorkDeck/aiworkdeck151 Tier B · 49 pts
#1081Opened 6 days ago
GFI: #66 Quick-check runbook for contributors / 编辑器语言 Quick check 操作说明

Why Parent (pay track core stays with maintainers): #66. Issue already describes a Quick check; newcomers need a copy-paste runbook with expected screenshots placeholders. Task Add docs/dev-notes/lowa-ui-locale-quickcheck.md (or under docs/ if dev-notes not yet created) containing: Install / open latest desktop release Open any docx in embedded editor Navigate to Language Settings → User Interface What “lists zh-CN” vs “English only” means for options 1 vs 2 in #66 Where to paste findings (comment on #66) No product code changes. Acceptance Runbook merged Linked from a comment on #66 Not in scope Implementing zh-CN langpack or custom toolbar (#66 implementation).

help wantedgood first issuearea: desktoparea: docs
1
zeweihan/aiworkdeck151 Tier A · 58 pts
#1081Opened 6 days ago
GFI: #66 Quick-check runbook for contributors / 编辑器语言 Quick check 操作说明

Why Parent (pay track core stays with maintainers): #66. Issue already describes a Quick check; newcomers need a copy-paste runbook with expected screenshots placeholders. Task Add docs/dev-notes/lowa-ui-locale-quickcheck.md (or under docs/ if dev-notes not yet created) containing: Install / open latest desktop release Open any docx in embedded editor Navigate to Language Settings → User Interface What “lists zh-CN” vs “English only” means for options 1 vs 2 in #66 Where to paste findings (comment on #66) No product code changes. Acceptance Runbook merged Linked from a comment on #66 Not in scope Implementing zh-CN langpack or custom toolbar (#66 implementation).

help wantedgood first issuearea: desktoparea: docs
1
AI-WorkDeck/aiworkdeck151 Tier B · 49 pts
#1079Opened 6 days ago
GFI: Archive one internal doc into docs/dev-notes/ / 归档一篇内部笔记

Why Parent: #15. Warm-up for docs hygiene without boiling the ocean. Task Create docs/dev-notes/. Move one clearly historical/internal file (suggested candidates: docs/AUDIT_2026-08-20_REMAINING.md, docs/HANDOFF_EDITOR_REVIEW_2026-09-11.md, or docs/DESENSITIZATION_REVIEW_2026-09-10.md). Leave a 5-line stub at the old path pointing to the new location (so old links do not 404). Update docs/README.md if it already exists; otherwise mention the move in the PR. Acceptance File lives under docs/dev-notes/ Stub at old path No broken relative links you introduced (fix any in-repo links to that filename) Not in scope Bulk-moving all internal docs.

help wantedgood first issuearea: docspriority: low
1
zeweihan/aiworkdeck151 Tier A · 58 pts
#1079Opened 6 days ago
GFI: Archive one internal doc into docs/dev-notes/ / 归档一篇内部笔记

Why Parent: #15. Warm-up for docs hygiene without boiling the ocean. Task Create docs/dev-notes/. Move one clearly historical/internal file (suggested candidates: docs/AUDIT_2026-08-20_REMAINING.md, docs/HANDOFF_EDITOR_REVIEW_2026-09-11.md, or docs/DESENSITIZATION_REVIEW_2026-09-10.md). Leave a 5-line stub at the old path pointing to the new location (so old links do not 404). Update docs/README.md if it already exists; otherwise mention the move in the PR. Acceptance File lives under docs/dev-notes/ Stub at old path No broken relative links you introduced (fix any in-repo links to that filename) Not in scope Bulk-moving all internal docs.

help wantedgood first issuearea: docspriority: low
1
kestra-io/kestra29,520 Tier A · 70 pts
#20598Opened 6 days ago
Replace Bootstrap utility classes in `TimeSelect.vue`

ui/src/components/executions/date-select/TimeSelect.vue uses 2 Bootstrap utility classes. Bootstrap is being removed from the design system, so each one should become CSS written with the --ks-* tokens from ui/packages/design-system, in the component's existing <style scoped lang="scss"> block. Where Line Element Classes 14 <div class="mt-2 duration-examples"> mt-2 25 <KsInput class="mt-2"> mt-2 Done when No Bootstrap class is left in TimeSelect.vue: none of the utilities above. The PR has before and after screenshots in light and dark mode, and the component looks the same. cd ui && npm run check:types && npm run test:unit && npm run lint && npm run check:ts-any passes.

area/frontendkind/cooldowngood first issue
12
#20597Opened 6 days ago
Replace Bootstrap utility classes in `ErrorToastContainer.vue`

ui/src/components/ErrorToastContainer.vue uses 2 Bootstrap utility classes. Bootstrap is being removed from the design system, so each one should become CSS written with the --ks-* tokens from ui/packages/design-system, in the component's existing <style scoped lang="scss"> block. Where Line Element Classes 7 <AiIcon class="me-1"> me-1 14 <li class="font-monospace"> font-monospace Done when No Bootstrap class is left in ErrorToastContainer.vue: none of the utilities above. The PR has before and after screenshots in light and dark mode, and the component looks the same. cd ui && npm run check:types && npm run test:unit && npm run lint && npm run check:ts-any passes.

area/frontendkind/cooldowngood first issue
10
#20596Opened 6 days ago
Replace Bootstrap utility classes in `ProseImg.vue`

ui/src/components/content/ProseImg.vue uses 2 Bootstrap utility classes. Bootstrap is being removed from the design system, so each one should become CSS written with the --ks-* tokens from ui/packages/design-system, in the component's existing <style scoped lang="scss"> block. Where Line Element Classes 2 <span class="text-center d-block img-block"> text-center, d-block Done when No Bootstrap class is left in ProseImg.vue: none of the utilities above. The PR has before and after screenshots in light and dark mode, and the component looks the same. cd ui && npm run check:types && npm run test:unit && npm run lint && npm run check:ts-any passes.

area/frontendkind/cooldowngood first issue
18
#20595Opened 6 days ago
Replace Bootstrap utility classes in `CardLogos.vue`

ui/src/components/content/CardLogos.vue uses 2 Bootstrap utility classes. Bootstrap is being removed from the design system, so each one should become CSS written with the --ks-* tokens from ui/packages/design-system, in the component's existing <style scoped lang="scss"> block. Where Line Element Classes 2 <div class="row card-group mb-4 pb-2"> mb-4, pb-2 Bootstrap's spacing steps stop matching the token steps after 2: -4 is --ks-spacing-5. So mb-4 takes var(--ks-spacing-5), not var(--ks-spacing-4). Also remove These Bootstrap names have no CSS behind them in Kestra, so they do nothing today: row (line 2), col-12 (lines 3, 20 and 37), col-sm-4 (lines 3, 20 and 37). Delete them, and if the layout needs what they were meant to do, write it as CSS. For the row/col* grid, use KsRow/KsCol instead. Done when No Bootstrap class is left in CardLogos.vue: none of the utilities above, and none of the names under Also remove. The PR has before and after screenshots in light and dark m

area/frontendkind/cooldowngood first issue
13
#20594Opened 6 days ago
Replace Bootstrap utility classes in `TriggersManage.vue`

ui/src/components/admin/triggers/TriggersManage.vue uses 2 Bootstrap utility classes. Bootstrap is being removed from the design system, so each one should become CSS written with the --ks-* tokens from ui/packages/design-system, in the component's existing <style scoped lang="scss"> block. Where Line Element Classes 76 <LogsWrapper class="m-3"> m-3 91 <div class="text-nowrap"> text-nowrap Bootstrap's spacing steps stop matching the token steps after 2: -3 is --ks-spacing-4. So m-3 takes var(--ks-spacing-4), not var(--ks-spacing-3). Also remove These look like Bootstrap utilities but aren't Bootstrap 5 classes and have no rule anywhere: mr-1 (lines 241, 249, 257, 266 and 276). Delete them, and if the layout needs what they were meant to do, write it as CSS. Done when No Bootstrap class is left in TriggersManage.vue: none of the utilities above, and none of the names under Also remove. The PR has before and after screenshots in light and dark mode, and the component looks t

area/frontendkind/cooldowngood first issue
12

Top Java Repositories with Beginner Issues (20)

Updated Daily via GitHub GraphQL
objectionary
eo
objectionary/eo
S•Elite
1.5k·Java

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

#eolang#java#language
71%
Merge Rate
4h
Review Time
54%
1st-Timers
11 GFI
Scorecard
eclipse-openj9
openj9
eclipse-openj9/openj9
S•Elite
3.5k·Java

Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.

#compiler#eclipse-openj9#garbage-collector
83%
Merge Rate
13h
Review Time
77%
1st-Timers
1 GFI
Scorecard
labsai
EDDI
labsai/EDDI
S•Elite
384·Java

Config-driven engine that turns JSON into production-grade AI agents. Multi-agent orchestration, 12+ LLM providers, MCP/A2A protocols, RAG, persistent memory, and enterprise compliance (EU AI Act, GDPR, HIPAA). Built on Quarkus.

#a2a#conversation-memory#conversational-ai
73%
Merge Rate
7h
Review Time
86%
1st-Timers
14 GFI
Scorecard
logisim-evolution
logisim-evolution
logisim-evolution/logisim-evolution
S•Elite
7.8k·Java

Digital logic design tool and simulator

#circuit#circuits#digital-circuit
86%
Merge Rate
-
Review Time
85%
1st-Timers
10 GFI
Scorecard
camunda
camunda
camunda/camunda
S•Elite
4.3k·Java

Process Orchestration Framework

#bpmn#grpc#java
75%
Merge Rate
-
Review Time
70%
1st-Timers
10 GFI
Scorecard
bisq-network
bisq2
bisq-network/bisq2
S•Elite
319·Java

No repository description available.

84%
Merge Rate
2d
Review Time
83%
1st-Timers
2 GFI
Scorecard
apache
iotdb
apache/iotdb
S•Elite
6.4k·Java

Apache IoTDB

#big-data#database#iot
80%
Merge Rate
3d
Review Time
76%
1st-Timers
5 GFI
Scorecard
matsim-org
matsim-libs
matsim-org/matsim-libs
S•Elite
649·Java

Multi-Agent Transport Simulation

#agent-based#agent-based-model#agent-based-simulation
93%
Merge Rate
3d
Review Time
82%
1st-Timers
3 GFI
Scorecard
civiform
civiform
civiform/civiform
S•Elite
134·Java

CiviForm simplifies the application process for government benefits programs by re-using applicant data for multiple benefits applications. It's being developed by Google.org and Exygy, in collaboration with the City of Seattle and community contributors.

#civic-tech#government#public-interest-technology
70%
Merge Rate
-
Review Time
67%
1st-Timers
13 GFI
Scorecard
apache
eventmesh
apache/eventmesh
S•Elite
1.8k·Java

EventMesh is a new generation serverless event middleware for building distributed event-driven applications.

#cloud-native#esb#event-driven
90%
Merge Rate
1h
Review Time
100%
1st-Timers
1 GFI
Scorecard
strimzi
strimzi-kafka-operator
strimzi/strimzi-kafka-operator
S•Elite
5.9k·Java

Apache Kafka® running on Kubernetes

#data-stream#data-streaming#data-streams
83%
Merge Rate
-
Review Time
82%
1st-Timers
4 GFI
Scorecard
iflytek
astron-agent
iflytek/astron-agent
S•Elite
8.9k·Java

Enterprise-grade, commercial-friendly agentic workflow platform for building next-generation SuperAgents.

#agent#agentic-workflow#ai
85%
Merge Rate
23h
Review Time
40%
1st-Timers
4 GFI
Scorecard
ls1intum
Artemis
ls1intum/Artemis
S•Elite
818·Java

Artemis - Interactive Learning with Automated Feedback

#apollon#autograding#exam-mode
70%
Merge Rate
-
Review Time
63%
1st-Timers
8 GFI
Scorecard
DependencyTrack
dependency-track
DependencyTrack/dependency-track
S•Elite
4.3k·Java

Dependency-Track is an intelligent Component Analysis platform that allows organizations to identify and reduce risk in the software supply chain.

#appsec#bom#component-analysis
82%
Merge Rate
-
Review Time
77%
1st-Timers
7 GFI
Scorecard
StarRocks
starrocks
StarRocks/starrocks
S•Elite
12.2k·Java

The world's fastest open query engine for sub-second analytics both on and off the data lakehouse. With the flexibility to support nearly any scenario, StarRocks provides best-in-class performance for multi-dimensional analytics, real-time analytics, and ad-hoc queries. A Linux Foundation project.

#analytics#big-data#database
71%
Merge Rate
-
Review Time
50%
1st-Timers
4 GFI
Scorecard
flutter
flutter-intellij
flutter/flutter-intellij
S•Elite
2.0k·Java

Flutter Plugin for IntelliJ

#flutter#intellij-plugin#java
84%
Merge Rate
19h
Review Time
100%
1st-Timers
4 GFI
Scorecard
Wynntils
Wynntils
Wynntils/Wynntils
S•Elite
249·Java

Wynntils (Artemis) is a rewrite of Wynntils in 1.21.11 using Architectury, to support Fabric and Forge.

#minecraft-mod#wynncraft#wynntils
83%
Merge Rate
-
Review Time
65%
1st-Timers
8 GFI
Scorecard
elastic
elasticsearch
elastic/elasticsearch
S•Elite
78.2k·Java

Free and Open Source, Distributed, RESTful Search Engine

#elasticsearch#java#search-engine
79%
Merge Rate
-
Review Time
76%
1st-Timers
1 GFI
Scorecard
terrakube-io
terrakube
terrakube-io/terrakube
A•Welcoming
967·Java

Open source IaC Automation and Collaboration Software.

#elide#kubernetes#opentofu
77%
Merge Rate
22h
Review Time
47%
1st-Timers
4 GFI
Scorecard
apache
fory
apache/fory
A•Welcoming
4.6k·Java

A blazingly fast multi-language serialization framework for idiomatic domain objects, schema IDL, and cross-language data exchange.

#cpp#cross-language#fast
89%
Merge Rate
-
Review Time
82%
1st-Timers
2 GFI
Scorecard

How to make your first Java open-source pull request

Finding approachable Good First Issues in Java allows you to build real-world software engineering experience. Instead of submitting PRs to abandoned repositories, GetMerged verifies maintainer review speeds and first-timer acceptance rates before you write a single line of code.

Select any issue above to claim it directly on GitHub, or click a repository to inspect full maintainer review turnaround metrics and triage guidance!

Get this week's top welcoming repos + fresh Good First Issues for Java

Free weekly email, scoped to Java. No account needed - confirm once and unsubscribe anytime.