about_yml 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +162 -0
- data/lib/about_yml/schema.json +59 -59
- data/lib/about_yml/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6a26a63746b2e58de3584dbee54db450d1b63528
|
4
|
+
data.tar.gz: 112da4095c5c05b95f3e962bcb161ce4463296c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 77dd208381be15190a557d7ec3aa20e3c39462470f4d9af35418e73b0911aeb55d87858f8860233c6ecfc76b0f3026c17c7f737ec50a848bebefe0f95493fcd1
|
7
|
+
data.tar.gz: a3c75fc5809baa0c0df4e471f3a5140611fd4650ed869cb14a43bdc99ababf569edcc1511ae830a7791685bf9f10edbcd5bee4a7d0319c18165230562ca086a1
|
data/README.md
CHANGED
@@ -87,6 +87,168 @@ a small, handy program that also uses the
|
|
87
87
|
It will return a YAML list of names and descriptions for all of the
|
88
88
|
repositories belonging to an organization.
|
89
89
|
|
90
|
+
## `.about.yml` file testing
|
91
|
+
|
92
|
+
The `run_about_yml_check` Rake task provides a relatively simple way to check
|
93
|
+
a project's `.about.yml` file for errors.
|
94
|
+
|
95
|
+
### Add the task to your Rakefile
|
96
|
+
|
97
|
+
To test whether the `.about.yml` file for a repository will successfully parse
|
98
|
+
based on the schema, simply include the `about_yml` gem in your dependencies and
|
99
|
+
then load the task in your Rakefile:
|
100
|
+
|
101
|
+
```ruby
|
102
|
+
check_yml = Gem::Specification.find_by_name 'about_yml'
|
103
|
+
load "#{check_yml.gem_dir}/lib/about_yml/tasks/check_about_yml.rake"
|
104
|
+
```
|
105
|
+
|
106
|
+
If your project already include `about_yml`, make sure it is using version 0.0.8
|
107
|
+
or later.
|
108
|
+
|
109
|
+
### Run the task automatically with Travis
|
110
|
+
|
111
|
+
To run the `run_about_yml_check` task automatically using Travis, simply add
|
112
|
+
the following to your `.travis.yml` config file (with any preferred
|
113
|
+
notifications):
|
114
|
+
|
115
|
+
```yml
|
116
|
+
script: bundle exec rake run_about_yml_check
|
117
|
+
```
|
118
|
+
|
119
|
+
|
120
|
+
## `.about.yml` cheat sheet
|
121
|
+
The following attributes are currently stored in the `.about.yml` file and are used in one or more of the locations referenced above. Required attributes are marked with an asterisk, and field descriptions and examples follow each attribute. Take a look at [Every Kid in a Park](https://github.com/18F/ekip-api/blob/master/.about.yml) or [Open Opportunities](https://github.com/18F/openopps-platform/blob/dev/.about.yml) for living examples of `.about.yml` in action.
|
122
|
+
|
123
|
+
|
124
|
+
`name`* - This is a short name of your project that is used as a URL slug on the 18F dashboard.
|
125
|
+
>
|
126
|
+
```yml
|
127
|
+
name: ekip-api
|
128
|
+
```
|
129
|
+
|
130
|
+
`full_name`* - This is the display name of your project on the 18F dashboard.
|
131
|
+
>
|
132
|
+
```yml
|
133
|
+
full_name: Every Kid in a Park
|
134
|
+
```
|
135
|
+
|
136
|
+
`description`* - What is the problem your project solves? What is the solution? Use the format shown below. The #dashboard team will gladly help you put this together for your project.
|
137
|
+
>
|
138
|
+
```yml
|
139
|
+
description: |
|
140
|
+
In 2015, President Obama formally announced the Every Kid in a Park program, which provides
|
141
|
+
fourth graders and their families with free access to more than 2,000 federally managed sites.
|
142
|
+
18F worked with the Department of the Interior to create the program’s website, which was
|
143
|
+
written at a fourth grade level with the help of fourth graders.
|
144
|
+
```
|
145
|
+
|
146
|
+
`impact`* - What is the measurable impact of your project? Use the format shown below. The #dashboard team will gladly help you put this together for your project.
|
147
|
+
>
|
148
|
+
```yml
|
149
|
+
impact: |
|
150
|
+
We designed a website that gives fourth graders and their families free access to more than 2,000
|
151
|
+
federally-managed sites.
|
152
|
+
```
|
153
|
+
|
154
|
+
`owner_type`* - What kind of team owns the repository? *Accepted values: guild, working-group, project*
|
155
|
+
>
|
156
|
+
```yml
|
157
|
+
owner_type: project
|
158
|
+
```
|
159
|
+
|
160
|
+
`stage`* - What is your project's current status? *Accepted values: discovery, alpha, beta, live*
|
161
|
+
>
|
162
|
+
```yml
|
163
|
+
stage: live
|
164
|
+
```
|
165
|
+
|
166
|
+
`testable`* - Should this repo have automated tests? If so, set to `true`. *Accepted values: true, false*
|
167
|
+
>
|
168
|
+
```yml
|
169
|
+
testable: true
|
170
|
+
```
|
171
|
+
|
172
|
+
`licenses`* - What are the licences that apply to the project and/or its components? Get the license name from the [Software Package Data Exchange (SPDX)] (https://spdx.org/licenses/)
|
173
|
+
>
|
174
|
+
```yml
|
175
|
+
licenses:
|
176
|
+
ekip-api:
|
177
|
+
name: CC0-1.0
|
178
|
+
url: https://github.com/18F/team_api/blob/master/LICENSE.md
|
179
|
+
```
|
180
|
+
|
181
|
+
`partners` - Who is the parter for your project? (Use the full name of the partner documented [here](https://github.com/18F/dashboard/blob/staging/_data/partners.yml))
|
182
|
+
>
|
183
|
+
```yml
|
184
|
+
partners:
|
185
|
+
- U.S. Department of the Interior
|
186
|
+
```
|
187
|
+
|
188
|
+
`contact` - The main point of contact(s) for your project, and a `mailto:` link for that contact.
|
189
|
+
>
|
190
|
+
```yml
|
191
|
+
contact:
|
192
|
+
- url: mailto:shashank.khandelwal@gsa.gov
|
193
|
+
text: Shashank Khandelwal
|
194
|
+
```
|
195
|
+
|
196
|
+
`team` - Who are the team members on your project? For each team member, list a github name, role and an internal identifier. (The project lead role should be `lead`)
|
197
|
+
>
|
198
|
+
```yml
|
199
|
+
team:
|
200
|
+
- github: khandelwal
|
201
|
+
role: lead
|
202
|
+
id: khandelwal
|
203
|
+
```
|
204
|
+
|
205
|
+
`type` - What kind of content is contained in the project repository? *Accepted values: app, docs, policy*
|
206
|
+
>
|
207
|
+
```yml
|
208
|
+
type: app
|
209
|
+
```
|
210
|
+
|
211
|
+
`parent` - Name of the main project repo if this is a sub-repo; name of the working group/guild repo if this is a working group/guild subproject
|
212
|
+
>
|
213
|
+
```yml
|
214
|
+
parent: [GitHub repo name]
|
215
|
+
```
|
216
|
+
|
217
|
+
`links` - What are the key links associated with your project?
|
218
|
+
>
|
219
|
+
```yml
|
220
|
+
links:
|
221
|
+
- url: everykidinapark.gov
|
222
|
+
text: Every Kid in a Park
|
223
|
+
```
|
224
|
+
|
225
|
+
`blogTag` - What is the 18F blog tag for your project? You can find a list of tags [here](https://18f.gsa.gov/tags/)
|
226
|
+
>
|
227
|
+
```yml
|
228
|
+
blogTag: [18F Blog Tag]
|
229
|
+
```
|
230
|
+
|
231
|
+
`stack` - What technologies are used in this project?
|
232
|
+
>
|
233
|
+
```yml
|
234
|
+
stack:
|
235
|
+
- Django
|
236
|
+
```
|
237
|
+
|
238
|
+
`services` - What are the services used to supply project status information?
|
239
|
+
>
|
240
|
+
```yml
|
241
|
+
services:
|
242
|
+
- name: Coveralls
|
243
|
+
category: Build review
|
244
|
+
url: https://coveralls.io/github/18F/ekip-api?branch=master
|
245
|
+
badge: https://coveralls.io/repos/18F/ekip-api/badge.svg?branch=master&service=github
|
246
|
+
- name: Quantified Code
|
247
|
+
category: Site review
|
248
|
+
url: https://www.quantifiedcode.com/app/project/ecb305ac0bfa4e968192621402faface
|
249
|
+
badge: https://www.quantifiedcode.com/api/v1/project/ecb305ac0bfa4e968192621402faface/badge.svg
|
250
|
+
```
|
251
|
+
|
90
252
|
## Public domain
|
91
253
|
|
92
254
|
This project is in the worldwide [public domain](LICENSE.md). As stated in [CONTRIBUTING](CONTRIBUTING.md):
|
data/lib/about_yml/schema.json
CHANGED
@@ -6,127 +6,127 @@
|
|
6
6
|
"properties": {
|
7
7
|
"name": {
|
8
8
|
"type": "string",
|
9
|
-
"description": "
|
9
|
+
"description": "This is a short name of your project that can be used as a URL slug."
|
10
10
|
},
|
11
11
|
"full_name": {
|
12
12
|
"type": "string",
|
13
|
-
"description": "
|
13
|
+
"description": "This is the display name of your project."
|
14
14
|
},
|
15
|
-
"
|
15
|
+
"description": {
|
16
16
|
"type": "string",
|
17
|
-
"description": "
|
18
|
-
"enum": ["app", "docs", "policy"]
|
17
|
+
"description": "What is the problem your project solves? What is the solution? Use the format shown below. The #dashboard team will gladly help you put this together for your project."
|
19
18
|
},
|
20
|
-
"
|
19
|
+
"impact": {
|
21
20
|
"type": "string",
|
22
|
-
"description": "
|
23
|
-
"enum": ["guild", "working-group", "project"]
|
21
|
+
"description": "What is the measurable impact of your project? Use the format shown below. The #dashboard team will gladly help you put this together for your project."
|
24
22
|
},
|
25
|
-
"
|
23
|
+
"owner_type": {
|
26
24
|
"type": "string",
|
27
|
-
"description": "
|
25
|
+
"description": "What kind of team owns the repository?",
|
26
|
+
"enum": ["guild", "working-group", "project"]
|
28
27
|
},
|
29
28
|
"stage": {
|
30
29
|
"type": "string",
|
31
|
-
"
|
32
|
-
"
|
33
|
-
},
|
34
|
-
"description": {
|
35
|
-
"type": "string",
|
36
|
-
"description": "Description of the project"
|
37
|
-
},
|
38
|
-
"tags": {
|
39
|
-
"type": "array",
|
40
|
-
"description": "Tags that describe the project or aspects of the project",
|
41
|
-
"items": {"type": "string"},
|
42
|
-
"uniqueItems": true
|
30
|
+
"description": "MWhat is your project's current status?",
|
31
|
+
"enum": ["discovery", "alpha", "beta", "live"]
|
43
32
|
},
|
44
33
|
"testable": {
|
45
34
|
"type": "boolean",
|
46
35
|
"default": false,
|
47
36
|
"description": "Should this repo have automated tests? If so, set to `true`."
|
48
37
|
},
|
49
|
-
"
|
50
|
-
"type": "
|
51
|
-
"description": "
|
52
|
-
"
|
53
|
-
"$ref": "#/definitions/
|
54
|
-
}
|
55
|
-
"uniqueItems": true
|
38
|
+
"licenses": {
|
39
|
+
"type": "object",
|
40
|
+
"description": "What are the licenses that apply to the project and/or its components?",
|
41
|
+
"patternProperties": {
|
42
|
+
".*": {"$ref": "#/definitions/license"}
|
43
|
+
}
|
56
44
|
},
|
57
45
|
"partners": {
|
58
46
|
"type": "array",
|
59
|
-
"description": "
|
47
|
+
"description": "Who is the partner for your project? (Use the full name of the partner documented here: https://github.com/18F/dashboard/blob/staging/_data/partners.yml)",
|
60
48
|
"items": {"type": "string"},
|
61
49
|
"uniqueItems": true
|
62
50
|
},
|
63
|
-
"
|
51
|
+
"contact": {
|
64
52
|
"type": "array",
|
65
|
-
"description": "
|
53
|
+
"description": "The main point of contact(s) and/or the issue reporting system for your project, and either a `mailto:` link or URL for each contact.",
|
66
54
|
"items": {
|
67
|
-
"$ref": "#/definitions/
|
55
|
+
"$ref": "#/definitions/contact"
|
68
56
|
},
|
69
57
|
"uniqueItems": true
|
70
58
|
},
|
71
|
-
"
|
59
|
+
"team": {
|
72
60
|
"type": "array",
|
73
|
-
"description": "
|
74
|
-
"items": {
|
61
|
+
"description": "Who are the team members on your project? You can specify GitHub usernames, email addresses, or other organizational usernames.",
|
62
|
+
"items": {
|
63
|
+
"$ref": "#/definitions/person"
|
64
|
+
},
|
75
65
|
"uniqueItems": true
|
76
66
|
},
|
77
|
-
"
|
67
|
+
"type": {
|
68
|
+
"type": "string",
|
69
|
+
"description": "What kind of content is contained in the project repository?",
|
70
|
+
"enum": ["app", "docs", "policy"]
|
71
|
+
},
|
72
|
+
"milestones": {
|
78
73
|
"type": "array",
|
79
|
-
"description": "
|
74
|
+
"description": "What are the key milestones you've achieved recently?",
|
80
75
|
"items": {"type": "string"},
|
81
76
|
"uniqueItems": true
|
82
77
|
},
|
83
|
-
"
|
78
|
+
"parent": {
|
84
79
|
"type": "string",
|
85
|
-
"description": "
|
80
|
+
"description": "Name of the main project repo if this is a sub-repo; name of the grouplet repo if this is a working group/guild subproject"
|
86
81
|
},
|
87
|
-
"
|
82
|
+
"links": {
|
88
83
|
"type": "array",
|
89
|
-
"description": "
|
84
|
+
"description": "What are the links to key artifacts associated with your project? e.g. the production site, documentation.",
|
90
85
|
"items": {
|
91
|
-
"$ref": "#/definitions/
|
86
|
+
"$ref": "#/definitions/link"
|
92
87
|
},
|
88
|
+
"format": "uri",
|
93
89
|
"uniqueItems": true
|
94
90
|
},
|
95
|
-
"licenses": {
|
96
|
-
"type": "object",
|
97
|
-
"description": "Licenses that apply to the project and/or its components",
|
98
|
-
"patternProperties": {
|
99
|
-
".*": {"$ref": "#/definitions/license"}
|
100
|
-
}
|
101
|
-
},
|
102
91
|
"blogTag": {
|
103
92
|
"type": "array",
|
104
|
-
"description": "
|
93
|
+
"description": "What tags does your organization's blog associate with your project? You can find a list of 18F blog tags here: https://18f.gsa.gov/tags/",
|
105
94
|
"items": {
|
106
95
|
"type": "string"
|
107
96
|
},
|
108
97
|
"uniqueItems": true
|
109
98
|
},
|
110
|
-
"
|
99
|
+
"stack": {
|
100
|
+
"type": "array",
|
101
|
+
"description": "What technologies are used in this project?",
|
102
|
+
"items": {"type": "string"},
|
103
|
+
"uniqueItems": true
|
104
|
+
},
|
105
|
+
"services": {
|
111
106
|
"type": "array",
|
112
|
-
"description": "
|
107
|
+
"description": "What are the services used to supply project status information?",
|
113
108
|
"items": {
|
114
|
-
"$ref": "#/definitions/
|
109
|
+
"$ref": "#/definitions/service"
|
115
110
|
},
|
116
|
-
"format": "uri",
|
117
111
|
"uniqueItems": true
|
118
112
|
},
|
119
|
-
"
|
113
|
+
"users": {
|
120
114
|
"type": "array",
|
121
|
-
"description": "
|
115
|
+
"description": "Organizations or individuals who have adopted the project for their own use",
|
122
116
|
"items": {
|
123
|
-
"$ref": "#/definitions/
|
117
|
+
"$ref": "#/definitions/user"
|
124
118
|
},
|
125
119
|
"uniqueItems": true
|
120
|
+
},
|
121
|
+
"tags": {
|
122
|
+
"type": "array",
|
123
|
+
"description": "Tags that describe the project or aspects of the project",
|
124
|
+
"items": {"type": "string"},
|
125
|
+
"uniqueItems": true
|
126
126
|
}
|
127
127
|
},
|
128
128
|
"required": [
|
129
|
-
"name", "full_name", "stage", "team", "licenses", "owner_type", "testable"
|
129
|
+
"name", "full_name", "description", "impact", "stage", "team", "licenses", "owner_type", "testable"
|
130
130
|
],
|
131
131
|
"definitions": {
|
132
132
|
"person": {
|
data/lib/about_yml/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: about_yml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Bland
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-01-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: safe_yaml
|