# Commands

| Command | Summary |
| --- | --- |
| [winch](winch/) | winch is a server configuration tool. It describes the desired state of your servers in declarative YAML and provides commands to manage that state. |
| [winch validate](validate/) | check the project without contacting a host |
| [winch fmt](fmt/) | format the project files |
| [winch plan](plan/) | show the changes that apply would make |
| [winch apply](apply/) | make the changes after you approve the plan |
| [winch run](run/) | plan and apply one module step |
| [winch exec](exec/) | run a shell command on hosts |
| [winch secret](secret/) | manage secrets and the age key |
| [winch secret init](secret-init/) | add an age key to the recipients |
| [winch secret generate](secret-generate/) | make a random password as a secret |
| [winch secret encrypt](secret-encrypt/) | encrypt a value from stdin or a prompt as a secret |
| [winch secret decrypt](secret-decrypt/) | print the plaintext of a secret |
| [winch secret rekey](secret-rekey/) | encrypt all secrets again |
| [winch doc](doc/) | show the reference |
| [winch version](version/) | print the version and the platform |
