Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

A Java architecture test library, to specify and assert architecture rules in plain Java

Is TNG/ArchUnit beginner-friendly?

In the last 30 days, TNG/ArchUnit merged 8 of 14 pull requests from outside contributors, and its maintainers usually reply within 1 day. No beginner-friendly issue is open right now; the list below has the other issues we hold for it.

Stars
3.9k
Forks
350
Open beginner issues
0
Indexed issues
161
Avg merge
1d 23h
Merged PRs (30d)
23
Dominant language
Java
License
Apache-2.0
Last GitHub push
Oct 5, 2026
Latest indexed
Oct 7, 2026
Contributing guide
Contributing guide
Code of conduct
No code of conduct
Beginner labels
help wanted

How to contribute to TNG/ArchUnit

  1. Read the contributing guide first: it says how the maintainers want changes proposed, tested and reviewed.
  2. Your contributions will be published under the project's Apache-2.0 license.
  3. Follow the repository to hear when a new beginner-friendly issue opens, or look through the other issues below.

Issues somebody may already be working on are listed last. List everything by date

  • ASM is not up-to-date
    Open

    Difficulty 2/5 1-3 hours Newbie friendliness 60/100

    TNG/ArchUnit#1757 ·

    Maintainers usually reply within 1 day

  • Clean up return types of `HasAnnotations` implementations
    Open
    breaking change

    Difficulty 5/5 Over a week Newbie friendliness 18/100

    TNG/ArchUnit#1756 ·

    Maintainers usually reply within 1 day

  • Turn `JavaType` and `JavaAnnotatedType` into `sealed interface`s
    Open
    breaking change

    Difficulty 4/5 3-5 days Newbie friendliness 30/100

    TNG/ArchUnit#1755 ·

    Maintainers usually reply within 1 day

  • Clean up build and test infrastructure when dropping Java 8 (and potentially Java 11) support
    Open
    breaking change

    Difficulty 4/5 3-5 days Newbie friendliness 22/100

    TNG/ArchUnit#1754 ·

    Maintainers usually reply within 1 day

  • Add reflection to `JavaRecordComponent`
    Open
    breaking change

    Difficulty 3/5 Half a day Newbie friendliness 62/100

    TNG/ArchUnit#1753 ·

    Maintainers usually reply within 1 day

  • Tracker for ArchUnit v2
    Open
    breaking change

    Difficulty 5/5 Over a week Newbie friendliness 12/100

    TNG/ArchUnit#1752 ·

    Maintainers usually reply within 1 day

  • Integration tests failures in CI
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 42/100

    TNG/ArchUnit#1737 · 1 comment ·

    Maintainers usually reply within 1 day

  • add JavaModule
    May be free again @schulzjo-tng claimed this 28 days ago, and no pull request is open. Open

    TNG/ArchUnit#1710 · 1 assignee ·

    Maintainers usually reply within 1 day

  • @PublicAPI should be documented
    May be free again @hankem claimed this 56 days ago, and no pull request is open. Open
    enhancement

    TNG/ArchUnit#1701 · 1 assignee ·

    Maintainers usually reply within 1 day

  • Surfacing freeze store size as a signal: a green build is compatible with a growing store
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 48/100

    TNG/ArchUnit#1700 ·

    Maintainers usually reply within 1 day

  • Not recognized dependency from "when-is" statement since kotlin 2.4.20-Beta2/RC
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 45/100

    TNG/ArchUnit#1699 · 1 comment ·

    Maintainers usually reply within 1 day

  • gradle 'java-test-fixtures' plugin makes DoNotIncludeJars import option exclude main code
    Open

    Difficulty 3/5 Half a day Newbie friendliness 57/100

    TNG/ArchUnit#1662 ·

    Maintainers usually reply within 1 day

  • External Validation for ArchUnit Compatibility with Future JDK and Class File Versions
    Open

    Difficulty 5/5 Over a week Newbie friendliness 28/100

    TNG/ArchUnit#1634 · 1 comment ·

    Maintainers usually reply within 1 day

  • Use source information from classfile attributes (when available) and expose path
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 48/100

    TNG/ArchUnit#1623 · 2 comments ·

    Maintainers usually reply within 1 day

  • Use classfile API on JDK 26+
    May be free again A pull request for this issue was closed without being merged. Open
    enhancement on hold

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    TNG/ArchUnit#1608 · 3 comments ·

    Maintainers usually reply within 1 day

  • Support for graalvm
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 45/100

    TNG/ArchUnit#1605 · 1 comment ·

    Maintainers usually reply within 1 day

  • Assert on the classes in an ArchModule
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    TNG/ArchUnit#1592 ·

    Maintainers usually reply within 1 day

  • Check that a class has method that...
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 48/100

    TNG/ArchUnit#1588 · 2 comments ·

    Maintainers usually reply within 1 day

  • Add `JavaClass.Predicates.isInterface()`
    Open

    Difficulty 2/5 1-3 hours Newbie friendliness 48/100

    TNG/ArchUnit#1586 ·

    Maintainers usually reply within 1 day

  • In the Onion Architecture/Port Adapter Architecture, it is not necessary to mandate the use of domain services.
    Open

    Difficulty 2/5 1-3 hours Newbie friendliness 46/100

    TNG/ArchUnit#1573 ·

    Maintainers usually reply within 1 day

  • Could LayeredArchitectureTest provide a friendlier error message?
    May be free again @TheManWhoStaresAtCode claimed this 69 days ago, and no pull request is open. Open

    TNG/ArchUnit#1572 · 1 comment · 1 reaction · 1 assignee ·

    Maintainers usually reply within 1 day

  • Freezing violations should include all violations in the store?
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 45/100

    TNG/ArchUnit#1563 ·

    Maintainers usually reply within 1 day

  • slices() architecture should take a DescribedPredicate<JavaClass>
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 45/100

    TNG/ArchUnit#1536 · 1 reaction ·

    Maintainers usually reply within 1 day

  • use some kind of pair to define layeredArchitecture.
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 48/100

    TNG/ArchUnit#1534 · 2 reactions ·

    Maintainers usually reply within 1 day

  • Performance enhancement suggestion: Simplified package matcher that only does a simple "Start with" check for better performance
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 45/100

    TNG/ArchUnit#1522 ·

    Maintainers usually reply within 1 day

  • modules doesn't respect value as an alias for name issues
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 48/100

    TNG/ArchUnit#1520 ·

    Maintainers usually reply within 1 day

  • no obvious negation for slices and modules.
    Open

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    TNG/ArchUnit#1500 · 1 comment ·

    Maintainers usually reply within 1 day

  • Use an Architecture Decision Record (ADR) as a reason for a ArchRule
    May be free again A pull request for this issue was closed without being merged. Open

    Difficulty 3/5 1-2 days Newbie friendliness 35/100

    TNG/ArchUnit#1495 ·

    Maintainers usually reply within 1 day

  • Bad Frozen error messages
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 48/100

    TNG/ArchUnit#1494 · 1 comment ·

    Maintainers usually reply within 1 day

  • classes implement should respect interface extends
    Open

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    TNG/ArchUnit#1482 · 2 comments ·

    Maintainers usually reply within 1 day

  • packages assertions
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 48/100

    TNG/ArchUnit#1481 ·

    Maintainers usually reply within 1 day

  • support isAbstract.
    Open

    Difficulty 2/5 1-3 hours Newbie friendliness 45/100

    TNG/ArchUnit#1479 · 2 comments ·

    Maintainers usually reply within 1 day

  • Ignore error in layered architecture for specific parameters
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 42/100

    TNG/ArchUnit#1458 ·

    Maintainers usually reply within 1 day

  • `getAllInvolvedRawTypes()` sometimes returns incorrect type variable bounds
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 42/100

    TNG/ArchUnit#1449 · 3 comments ·

    Maintainers usually reply within 1 day

  • Add more/better examples for custom rules to the documentation
    Open

    Difficulty 2/5 1-3 hours Newbie friendliness 55/100

    TNG/ArchUnit#1438 · 1 comment · 1 reaction ·

    Maintainers usually reply within 1 day

  • Access to Enum in SwitchCase
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 32/100

    TNG/ArchUnit#1433 · 2 comments ·

    Maintainers usually reply within 1 day

  • Tests fire with always false positive
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 35/100

    TNG/ArchUnit#1424 · 2 comments ·

    Maintainers usually reply within 1 day

  • `.overridesMethod()` would be nice to have
    Open

    Difficulty 3/5 1-2 days Newbie friendliness 43/100

    TNG/ArchUnit#1417 · 1 comment ·

    Maintainers usually reply within 1 day

  • How to get parameter type at call time?
    Open

    Difficulty 5/5 Over a week Newbie friendliness 35/100

    TNG/ArchUnit#1415 · 2 reactions ·

    Maintainers usually reply within 1 day

  • How to verify that a method is wrapped with try-with-resources?
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 25/100

    TNG/ArchUnit#1389 · 1 comment ·

    Maintainers usually reply within 1 day

  • Annotations with target TYPE_USE are missing from JavaField instances
    May be free again @StefanGraeber claimed this 40 days ago, and no pull request is open. Open

    TNG/ArchUnit#1382 · 27 comments · 8 reactions · 1 assignee ·

    Maintainers usually reply within 1 day

  • Studying lambda parameters for a forEach method call
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 42/100

    TNG/ArchUnit#1379 · 1 comment ·

    Maintainers usually reply within 1 day

  • Missing use case for 'rule to handle more than one test class matching impl class'
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    TNG/ArchUnit#1367 ·

    Maintainers usually reply within 1 day

  • Didn't find rule 'classes should not be final'
    Open

    Difficulty 2/5 1-3 hours Newbie friendliness 45/100

    TNG/ArchUnit#1363 · 4 comments ·

    Maintainers usually reply within 1 day

  • Allow to add test in a project to check if our rules are really applied
    Open

    Difficulty 2/5 1-3 hours Newbie friendliness 25/100

    TNG/ArchUnit#1348 · 1 comment ·

    Maintainers usually reply within 1 day

  • Enforce test failures based on the priority set
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    TNG/ArchUnit#1337 · 2 comments ·

    Maintainers usually reply within 1 day

  • DEPRECATED_API_SHOULD_NOT_BE_USED has false positive if a user doesn't actually use deprecated features
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 43/100

    TNG/ArchUnit#1333 · 5 comments ·

    Maintainers usually reply within 1 day

  • Performance: archunit-junit5 may scan complete JDK for `@ArchTest`
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 45/100

    TNG/ArchUnit#1316 · 5 comments · 1 reaction ·

    Maintainers usually reply within 1 day

  • Feature suggestion: Expose synchronized blocks in core API
    Open

    Difficulty 5/5 Over a week Newbie friendliness 25/100

    TNG/ArchUnit#1315 ·

    Maintainers usually reply within 1 day

  • Check access classes only works for some cases
    Open

    Difficulty 4/5 3-5 days Newbie friendliness 35/100

    TNG/ArchUnit#1311 · 1 comment ·

    Maintainers usually reply within 1 day

Showing the newest 100

This page lists what was indexed most recently. Advanced filter has the whole inventory, narrowed by language, difficulty and how long a task takes.

Open advanced filter

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.