Kingfig解决了管理设置页面的最糟糕的部分

50 阅读3分钟

几周前,我开始研究一个叫Kingfig的工具。 这是一个命令行工具,通过配置文件管理你在不同应用程序中的设置,而不是使用应用程序提供的GUI。这里的动机是,当团队在项目上进行协作时,你经常会分享很多应用程序。很多这些应用程序,如Twilio和Pagerduty,有相当多的设置,而且不一定有内置的功能来帮助跟踪设置何时被改变,为什么被改变,或改变了它们。

那么,如果你不使用这些应用程序的图形用户界面,而是在配置文件中进行简单的设置,并且可以在版本控制中进行检查呢?这正是Kingfig解决的问题--它是一种在配置文件中管理网络应用程序设置的简单方法。

该项目现在基本上只是一个概念验证,只能用于管理Github Repositories,但我有兴趣弄清楚人们对通过配置文件管理其他什么服务感兴趣,并增加对这些的支持。

请看一个现场演示。

动机

这个项目的动机是,当使用像Pagerduty和Twilio这样复杂的开发工具时,改变设置往往会感到 "可怕",因为要撤销这些改变并不容易,而且没有一个简单的方法可以将你改变设置的意图传达给你团队的其他人。 在软件项目中,如果我想做一个改动,我可以把我的改动放到代码审查中,让团队成员看一下,然后如果我想的话,再把它恢复过来,而在改变我的Pagerduty设置时,我没有能力做到这一点。

我很想知道,是否有很好的理由让团队不使用市场上已有的解决方案,以及像这样的东西是否能让他们轻而易举的使用。

开发策略

我的开发计划是尝试发现一种人们会很高兴通过配置文件来管理的服务。一旦我完成了这个整合,我想做的事情还有很多,我希望有一个插件系统,让人们能够轻松地编写新的整合。如果这个插件系统还能自动创建如何使用该集成的文档,那就更酷了。

让编写插件变得简单

目前,处理 "Github Repositories "的逻辑与kingfig 的其他代码交织在一起。我希望达到这样的程度:为kingfig 写一个插件只需要提供:

  • 一个定义资源的结构
  • 一个从服务器上获取资源的方法
  • 一个从服务器上更新资源的方法

就这样了。

然后,在插件作者编写的struct ,我们可以生成自动文档。

下一步是什么?

我很高兴看到它的发展。如果你认为这很有趣或有价值,请给我留言,如果你有一个你喜欢使用的网络服务,请一定让我知道。

另外,如果你有更好的名字,请告诉我。