Skip to content

Commit c17429e

Browse files
committed
Add contribution guidelines and GitHub templates
Add CONTRIBUTING.md with instructions for proposing features, claiming wishlist items, and marking items as completed. Include the list of recognized categories and local development setup. Add a pull request template with type checkboxes and a front matter checklist. Add a structured GitHub issue form for proposing new kernel feature ideas. Signed-off-by: Christian Brauner <[email protected]>
1 parent a99602b commit c17429e

3 files changed

Lines changed: 147 additions & 0 deletions

File tree

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Feature Idea
2+
description: Propose a new kernel feature idea
3+
labels: ["wishlist"]
4+
body:
5+
- type: input
6+
id: title
7+
attributes:
8+
label: Feature title
9+
description: A short, descriptive title for the feature.
10+
placeholder: "e.g., Support detached mounts with pivot_root()"
11+
validations:
12+
required: true
13+
14+
- type: textarea
15+
id: description
16+
attributes:
17+
label: Description
18+
description: Describe the feature and how it would work.
19+
validations:
20+
required: true
21+
22+
- type: textarea
23+
id: usecase
24+
attributes:
25+
label: Use-Case
26+
description: Why is this feature valuable? What problem does it solve?
27+
validations:
28+
required: true
29+
30+
- type: dropdown
31+
id: category
32+
attributes:
33+
label: Category
34+
description: Which subsystem area does this relate to?
35+
multiple: true
36+
options:
37+
- mounts
38+
- pidfd
39+
- namespaces
40+
- filesystems
41+
- sockets
42+
- cgroups
43+
- block-devices
44+
- security
45+
- io-uring
46+
- processes
47+
- other
48+
49+
- type: textarea
50+
id: links
51+
attributes:
52+
label: Related links
53+
description: Links to mailing list threads, patches, documentation, etc.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
## Feature
2+
3+
<!-- Title of the feature being added, updated, or completed -->
4+
5+
## Type
6+
7+
<!-- Check one -->
8+
- [ ] New wishlist item
9+
- [ ] Moving item to in-progress
10+
- [ ] Marking item as completed
11+
- [ ] Other (describe below)
12+
13+
## Checklist
14+
15+
- [ ] Front matter is complete (`title`, `status`, `categories`)
16+
- [ ] Use-case section is included
17+
- [ ] Cc: Christian Brauner noted if implementing a feature from this list

CONTRIBUTING.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Contributing
2+
3+
Thank you for your interest in the UAPI Group Kernel Feature Wishlist. This
4+
document explains how to propose new features, claim existing ones, or mark
5+
items as completed.
6+
7+
## Proposing a new feature
8+
9+
1. Create a new Markdown file in the appropriate section directory
10+
under `website/content/`:
11+
- `wishlist/` for new ideas
12+
- `in-progress/` for features you are actively working on
13+
14+
2. Use the following front matter template:
15+
16+
```yaml
17+
---
18+
title: "Short descriptive title"
19+
weight: 10
20+
status: wishlist
21+
categories:
22+
- mounts
23+
- namespaces
24+
---
25+
```
26+
27+
3. Include a clear description of the feature and a **Use-Case** section
28+
explaining why this would be valuable.
29+
30+
4. Open a pull request.
31+
32+
## Claiming an item
33+
34+
To indicate you are working on a wishlist item:
35+
36+
1. Move the file from `website/content/wishlist/` to
37+
`website/content/in-progress/`.
38+
2. Update the `status` field in the front matter to `in-progress`.
39+
3. Open a pull request with your GitHub handle or email address noted.
40+
41+
## Marking an item as completed
42+
43+
When a feature has been merged into the kernel:
44+
45+
1. Move the file from its current location to `website/content/completed/`.
46+
2. Update the `status` field to `completed`.
47+
3. Add a `commit` field to the front matter with the commit SHA.
48+
4. Open a pull request.
49+
50+
## Attribution
51+
52+
**When implementing ideas on this list or ideas inspired by this list,
53+
please point that out explicitly and clearly in the associated patches
54+
and Cc `Christian Brauner <brauner (at) kernel (dot) org>`.**
55+
56+
## Categories
57+
58+
Use one or more of the following categories in front matter:
59+
60+
- `mounts` — mount namespaces, pivot_root, move_mount, statmount
61+
- `pidfd` — pidfd xattrs, CLONE_PIDFD, SCM_PIDFD
62+
- `namespaces` — user namespaces, PID namespaces, mount namespaces
63+
- `filesystems` — nullfs, blobfs, overlayfs, tmpfs, binfmt_misc
64+
- `sockets` — AF_UNIX, SCM_RIGHTS, SCM_PIDFD
65+
- `cgroups` — device cgroups, coredump limits
66+
- `block-devices` — loop devices, dm-verity, diskseq
67+
- `security` — LSM hooks, user namespace restrictions
68+
- `io-uring` — io_uring extensions
69+
- `processes` — pidfd, clone3, waitid, prctl
70+
71+
## Local development
72+
73+
```sh
74+
git clone --recurse-submodules https://github.com/uapi-group/kernel-features.git
75+
cd kernel-features/website
76+
hugo server
77+
```

0 commit comments

Comments
 (0)