---
name: "MooseX::App::Role"
section: "3pm"
platform: "linux"
package: "libmoosex-app-perl"
version: "1.43-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/MooseX::App::Role"
---

# MooseX::App::Role(3pm)

Define attributes in a role

## NAME

MooseX::App::Role - Define attributes in a role

## SYNOPSIS

```
 package MyApp::Role::SomeRole;

 use MooseX::App::Role; # Alo loads Moose::Role

 option 'testattr' => (
    isa             => 'rw',
    cmd_tags        => [qw(Important! Nice))],
 );
```

## DESCRIPTION

Enables the 'option' and 'parameter' keywords in your roles.

Alternatively you can also just use attribute traits:

```
 has 'testattr' => (
    isa             => 'rw',
    traits          => ['AppOption'],   # required
    cmd_type        => 'option',        # required
    cmd_tags        => [qw(Important! Nice))],
 );
```
