From 8e6c8a4a19e9f329e055ff232c4bf7acf20494da Mon Sep 17 00:00:00 2001
From: Mathew Cormier <mathew.corm@gmail.com>
Date: Fri, 20 Mar 2020 15:29:23 -0400
Subject: [PATCH 1/3] Add deprecation warnings

---
 packages/cli/src/commands/apm_cmds/publish.js | 4 ++++
 packages/cli/src/commands/deploy.js           | 4 ++++
 packages/cli/src/commands/run.js              | 4 ++++
 packages/cli/src/commands/start.js            | 4 ++++
 4 files changed, 16 insertions(+)

diff --git a/packages/cli/src/commands/apm_cmds/publish.js b/packages/cli/src/commands/apm_cmds/publish.js
index e97fba558..a68939dd2 100644
--- a/packages/cli/src/commands/apm_cmds/publish.js
+++ b/packages/cli/src/commands/apm_cmds/publish.js
@@ -157,6 +157,10 @@ export const handler = async function({
   propagateContent,
   skipConfirmation,
 }) {
+  reporter.warning(
+    'This command is deprecated and will be removed in a future release. Please see the Aragon Buidler plugin for an improved development experience: https://github.com/aragon/buidler-aragon'
+  )
+
   web3 = web3 || (await ensureWeb3(network))
 
   const {
diff --git a/packages/cli/src/commands/deploy.js b/packages/cli/src/commands/deploy.js
index f3bf9ab11..df2aee28f 100644
--- a/packages/cli/src/commands/deploy.js
+++ b/packages/cli/src/commands/deploy.js
@@ -137,6 +137,10 @@ export const handler = async ({
   silent,
   debug,
 }) => {
+  reporter.warning(
+    'This command is deprecated and will be removed in a future release. Please see the Aragon Buidler plugin for an improved development experience: https://github.com/aragon/buidler-aragon'
+  )
+
   const tasks = await task({
     module,
     reporter,
diff --git a/packages/cli/src/commands/run.js b/packages/cli/src/commands/run.js
index f9f2f9fce..210c33d8d 100644
--- a/packages/cli/src/commands/run.js
+++ b/packages/cli/src/commands/run.js
@@ -222,6 +222,10 @@ export const handler = async function({
   clientPort,
   clientPath,
 }) {
+  reporter.warning(
+    'This command is deprecated and will be removed in a future release. Please see the Aragon Buidler plugin for an improved development experience: https://github.com/aragon/buidler-aragon'
+  )
+
   if (http && !(await isHttpServerOpen(http))) {
     throw Error(
       `Can't connect to ${http}, make sure the http server is running.`
diff --git a/packages/cli/src/commands/start.js b/packages/cli/src/commands/start.js
index 247bd1b6d..8c6f5e954 100644
--- a/packages/cli/src/commands/start.js
+++ b/packages/cli/src/commands/start.js
@@ -137,6 +137,10 @@ export const handler = async ({
   silent,
   debug,
 }) => {
+  reporter.warning(
+    'This command is deprecated and will be removed in a future release. Please see the Aragon Buidler plugin for an improved development experience: https://github.com/aragon/buidler-aragon'
+  )
+
   const tasks = await task({
     clientRepo,
     clientVersion,

From e126fe94472435fb28e65b04146ca230f44ddad1 Mon Sep 17 00:00:00 2001
From: Mathew Cormier <mathew.corm@gmail.com>
Date: Fri, 20 Mar 2020 15:33:00 -0400
Subject: [PATCH 2/3] Remove start command warning

---
 packages/cli/src/commands/start.js | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/packages/cli/src/commands/start.js b/packages/cli/src/commands/start.js
index 8c6f5e954..247bd1b6d 100644
--- a/packages/cli/src/commands/start.js
+++ b/packages/cli/src/commands/start.js
@@ -137,10 +137,6 @@ export const handler = async ({
   silent,
   debug,
 }) => {
-  reporter.warning(
-    'This command is deprecated and will be removed in a future release. Please see the Aragon Buidler plugin for an improved development experience: https://github.com/aragon/buidler-aragon'
-  )
-
   const tasks = await task({
     clientRepo,
     clientVersion,

From 5266e20b04ce27ba5c9cc15b1408a1b8b2ff868c Mon Sep 17 00:00:00 2001
From: Mathew Cormier <mathew.corm@gmail.com>
Date: Fri, 20 Mar 2020 15:49:18 -0400
Subject: [PATCH 3/3] Update documentation

---
 docs/Apm-commands.md  | 17 +++--------------
 docs/Main-commands.md | 15 ++++++---------
 2 files changed, 9 insertions(+), 23 deletions(-)

diff --git a/docs/Apm-commands.md b/docs/Apm-commands.md
index 57d8fc550..f88d1382f 100644
--- a/docs/Apm-commands.md
+++ b/docs/Apm-commands.md
@@ -23,6 +23,9 @@ aragon apm info <apmRepo> [apmRepoVersion]
 
 ## aragon apm publish
 
+> **Note**<br>
+> This command is deprecated and will be removed in a future release. Please see the [Aragon Buidler plugin](https://github.com/aragon/buidler-aragon) for an improved development experience.
+
 The `aragon apm publish` command publishes a new version to the aragonPM repo. Check the [Publish to aragonPM guide](https://hack.aragon.org/docs/guides-publish) to learn more about the publish workflow.
 
 ```sh
@@ -65,20 +68,6 @@ The command has the following parameters:
 - `--propagate-content`: Whether to propagate the content once published. Defaults to `true`.
 - `--skip-confirmation`: Whether to skip the confirmation step. Defaults to `false`.
 
-## aragon apm extract-functions
-
-Extract function information from a Solidity file.
-
-```sh
-aragon apm extract-functions [contract]
-```
-
-- `contract`: Path to the Solidity file to extract functions from.
-
-Options:
-
-- `--output`: Path of the directory where the output file will be saved to.
-
 ## aragon apm versions
 
 Shows all the previously published versions of a given repository.
diff --git a/docs/Main-commands.md b/docs/Main-commands.md
index 219a9937f..f16ba4d17 100644
--- a/docs/Main-commands.md
+++ b/docs/Main-commands.md
@@ -2,6 +2,9 @@ These are general purpose commands that will help you to set up and interact wit
 
 ## aragon run
 
+> **Note**<br>
+> This command is deprecated and will be removed in a future release. Please see the [Aragon Buidler plugin](https://github.com/aragon/buidler-aragon) for an improved development experience.
+
 The `run` command takes care of completely setting up the environment needed for running your Aragon app.
 
 ```sh
@@ -120,6 +123,9 @@ Options:
 
 ## aragon deploy
 
+> **Note**<br>
+> This command is deprecated and will be removed in a future release. Please see the [Aragon Buidler plugin](https://github.com/aragon/buidler-aragon) for an improved development experience.
+
 The `deploy` command can be used for deploying an Ethereum contract to the devchain.
 
 ```sh
@@ -134,12 +140,3 @@ Options:
 
 - `--init`: Arguments to be passed to contract constructor on deploy. Need to be separated by a space. The `@ARAGON_ENS` alias can be used and it will be replaced by the address of the ENS registry in the devchain.
 
-## aragon contracts
-
-The `aragon contracts` command can be used to execute commands using the same [truffle](https://github.com/trufflesuite/truffle) version that aragonCLI uses behind the scenes to assist in compiling your app's contracts.
-
-```sh
-aragon contracts <command>
-```
-
-It is equivalent to executing `npx truffle <command>`