moonglum / exogenesis

Build your dotfile installer, updater and teardown
MIT License
19 stars 8 forks source link

Documentation #27

Open bitboxer opened 10 years ago

bitboxer commented 10 years ago

Currently we have no good documentation about the different package managers this project offers and how to configure them. This is confusing for people who want to start using this.

Let's start to discuss what form of documentation would be best fitting for this.

moonglum commented 10 years ago

This could be part of the DSL planned for 0.3 – similar to Rake’s:

Exogenesis::Passenger.create(:rvm) do

    # instance_eval on Passenger.new
    cover_emoji :bomb
    cover_text "RVM"

    required_config :rubies # automatically generates documentation for requirements

    desc "Install RVM" #automatically generates documentation for `setup`
    setup do
        # ...
    end
end

Then we could generate the documentation for each of the passengers.

bitboxer commented 10 years ago

Sounds good. We need to define the format for the parameters. Those are missing in your example.

moonglum commented 10 years ago

Do you mean the format of rubies in the passengers.yml?

bitboxer commented 10 years ago

Yep

Am Samstag, 1. Februar 2014 schrieb Lucas Dohmen :

Do you mean the format of rubies in the passengers.yml?

Reply to this email directly or view it on GitHubhttps://github.com/moonglum/exogenesis/issues/27#issuecomment-33866972 .

moonglum commented 10 years ago

That needs to be documented, totally agree. I want to do that separately though as described in #21. A good example for that are the different ruby version managers: Each of them requires rubies which can be in the same format.

I would therefore suggest a configuration manual which describes all possible keys and the format of their values. required_config autolinks to the the according key in that documentation. The configuration description should also be “machine readable”, then the passenger control #21 can read that and lint the configuration.