# New-MtPack

Creates a new Maester Pack folder: maester-pack.json, a suite with a first test, and optionally a connector.

Source: https://maester.dev/docs/commands/New-MtPack

## SYNOPSIS

Creates a new Maester Pack folder: maester-pack.json, a suite with a first test, and optionally a connector.

## SYNTAX

```powershell
New-MtPack [-Path] <String> -Id <String> -Code <String> [-Name <String>] [-Connector]
 [-ProgressAction <ActionPreference>] [-WhatIf] [-Confirm] [<CommonParameters>]
```

## DESCRIPTION

A pack is a folder, usually a GitHub repository, that others install with Install-MtPack.
This
writes its manifest, a README, a tests folder with suite.json and a first test MP.&lt;Code&gt;.1001, and with
-Connector a connector for a service of your own and a helper that reads its connection.

Check it with Test-MtPack, and run its tests with Invoke-MtTest -Path.
Publish it by pushing the folder
to GitHub under the publisher's account and creating a release.

## EXAMPLES

### EXAMPLE 1

```powershell
New-MtPack -Path ./maester-google-workspace -Id contoso.google-workspace -Code CNT -Connector
```

Creates a pack with a connector for the service CNT.GoogleWorkspace.

## PARAMETERS

### -Path

The folder to create.
It must be empty or not exist.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: True
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -Id

The pack ID, '&lt;publisher&gt;.&lt;name&gt;' in lower case, for example contoso.google-workspace.
The publisher
is the GitHub user or organisation that will own the pack's repository.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -Code

The pack's code, which starts every test ID of the pack: CONTOSO for MP.CONTOSO.1001.
Two to ten letters or
digits, starting with a letter.
A publisher with several packs can group them with up to three parts
separated by dots, such as CNT.GWS for MP.CNT.GWS.1001.
No two installed packs may share a code, or have
one code that starts with the other.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -Name

The pack's display name.
By default made from its ID.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -Connector

Also write a connector, so the pack can connect to a service Maester does not know.

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
```

### -WhatIf

Shows what would happen if the cmdlet runs.
The cmdlet is not run.

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases: wi

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -Confirm

Prompts you for confirmation before running the cmdlet.

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases: cf

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -ProgressAction

Determines how PowerShell responds to progress updates generated by a script, cmdlet, or provider, such as the progress bars generated by Write-Progress.

```yaml
Type: ActionPreference
Parameter Sets: (All)
Aliases: proga

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see [about_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).

## INPUTS

## OUTPUTS

### System.IO.FileInfo

### System.Object[]
## NOTES

## RELATED LINKS

[https://maester.dev/docs/commands/New-MtPack](https://maester.dev/docs/commands/New-MtPack)
