You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit ae6bba5
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: .cursor/rules/new_module.mdc
+26-12Lines changed: 26 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,19 @@ alwaysApply: false
8
8
9
9
This document outlines the complete process for adding a new module to the sentry-java repository. Follow these steps in order to ensure proper integration and release management.
10
10
11
+
## Publishing Gate
12
+
13
+
Nothing below is enforced by the build, so a module can look finished, pass CI, and still break
14
+
the release that first ships it. All of the following have to be merged **before** that release:
15
+
16
+
- The module is in the include list in `settings.gradle.kts` (step 1.2)
17
+
- Android (AAR) modules are in `Config.BuildScript.androidLibs` (step 1.4)
18
+
- The module has a row in the packages table in the main `README.md` (step 3)
19
+
- The module is in the integrations dropdown of the matching issue template (step 4)
20
+
- The docs page exists on docs.sentry.io (step 5), because `.craft.yml` has to point at a live URL
21
+
- The module has a full entry in the `registry` target of `.craft.yml` (step 6) — **this one
Create a `README.md` in the module directory with the following structure:
70
-
71
-
```markdown
72
-
# sentry-{module-name}
82
+
Create a `README.md` in the module directory: the module name as the heading, what it instruments,
83
+
the entry points a host app touches, and a link to the module's page on docs.sentry.io. Take that
84
+
link from the page itself rather than assembling it from the module name — a module does not always
85
+
get its own page (`sentry-android-navigation3` is documented inside the existing Navigation page).
86
+
`sentry-android-navigation3/README.md` is a good example.
73
87
74
-
This module provides an integration for [Technology/Framework Name].
75
-
76
-
Please consult the documentation on how to install and use this integration in the Sentry Docs for [Android](https://docs.sentry.io/platforms/android/integrations/{module-name}/) or [Java](https://docs.sentry.io/platforms/java/tracing/instrumentation/{module-name}/).
77
-
```
78
-
79
-
The following tasks are required only when adding a module that isn't a sample.
88
+
Steps 3 to 6 are required only when adding a module that isn't a sample.
80
89
81
90
### 3. Update Main README.md
82
91
@@ -102,6 +111,11 @@ Add the necessary documentation to [docs.sentry.io](https://docs.sentry.io):
102
111
- For Android modules: Add to Android platform docs, usually in integrations section
103
112
- Include installation instructions, configuration options, and usage examples
104
113
114
+
This has to be merged before step 6, which needs the live URL. The path is not derivable from the
115
+
module name — integrations sit under `integrations/`, instrumentation under
116
+
`tracing/instrumentation/`, and some modules are documented inside an existing page instead of
117
+
getting their own. Note the URL the page actually resolves to, with no redirect.
118
+
105
119
### 6. Add the Module to `.craft.yml`
106
120
107
121
This is **not** a post-release task. It has to be merged before the release that first ships the
0 commit comments