--- /dev/null
+metrics: distributed measurement system
+=======================================
+
+Goals
+-----
+
+- essential, simple and reliable.
+- minimum maintenance.
+
+Architecture
+------------
+
+- probes: run probes that gather data from the current or any remote node.
+- analyzers: process collected hosts, triggering events (notifications, graphing, etc).
+- syncer: send collected and analyzed data to remote locations.
+
+Worflow
+-------
+
+- cronjob: synced dispatch.
+- command line: asynced dispatch.
+
+Plugable
+--------
+
+- plugin lookup in shared folders such as `~/.local/share` and `/usr/local/share`.
+- analyzer cronjobs detects collected data and dispatch available analyzers.
+
+Formats
+-------
+
+- outputs: yaml, json or any other format understood by each probe/analyzer pair.
+- version field: so analyzers knows by which schema they should process data.
+
+Filesystem
+----------
+
+- unique locations per host/probe/analyzer to ease syncing.
+- folders: {/etc,/var/lib}/metrics/$HOSTNAME/{probes,analyzers,syncers}/{localhost,$HOST}/$NAME/.
+- files: config.yaml (failing back to defaults) and $TIMESTAMP.{json,yaml,rrd,etc}.
+
+Usage
+-----
+
+::
+ metrics <action> <target>
--- /dev/null
+#!/usr/bin/python
+#
+# metrics: distributed measurement system.
+#
+# Copyright (C) 2016 Silvio Rhatto - rhatto@riseup.net
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+# Load
+# Check syntax
+# Check for available target
+# Check superuser rights
+# Determine config file
+# Ensure folders exists
+# Call target and redirect output