# force-md

Edit Salesforce metadata files.

## Usage

```bash
# Clean up and sort metadata files
force-md tidy src/objects/* src/permissionsets/*

# Add Apex class to permission set
force-md permissionset apex add -c MyClass src/permissionsets/My_Permission_Set.permissionset

# Clone field permissions between fields
force-md permissionset field-permissions clone -s Account.Old_Field__c -f Account.New_Field__c src/permissionsets/*

# Add object permissions to profiles
force-md profile object-permissions add -o Account src/profiles/*

# Edit field properties
force-md objects fields edit -f My_Field__c -l "New Label" -r src/objects/Account.object

# Merge permission sets
force-md permissionset merge -s src/permissionsets/Subset.permissionset src/permissionsets/Superset.permissionset
```

## What it does

- **Tidy metadata** - Clean up and sort XML files consistently
- **Permission sets** - Add/edit Apex, object, field, and tab permissions
- **Profiles** - Manage object permissions and settings
- **Objects** - Edit field properties, validation rules, record types
- **Package.xml** - Add/remove metadata types and components

## Installation

Built with Go. Download binary or:

```bash
go install github.com/octoberswimmer/force-md@latest
```

Enable tab completion:

```bash
source <(force-md completion bash)
```

## Price

**Free** - Open source

## Links

- [GitHub Repository](https://github.com/ForceCLI/force-md)

## Docs

- [force-md command reference →](/content/tools/force-md/docs/force-md/index.html)
