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
Copy file name to clipboardExpand all lines: README.md
+55-16Lines changed: 55 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,14 @@
1
+
## Create a new APIOps project (CLI)
2
+
3
+
4
+
```bash
5
+
npm create apiops@latest
6
+
```
7
+
8
+
This command runs the `create-apiops` initializer package and generates a starter APIOps project template in your current directory.
9
+
10
+
11
+
1
12
# APIOps Cycles Method
2
13
3
14
This repository contains the source for the APIOps Cycles method, including resources such as canvases. It can be used for multiple purposes, such as the method website (https://www.apiopscycles.com/), which is generated from these files, and the Canvas Creator tool that allows creating, importing and exporting the canvases, and provides a UI. (https://canvascreator.apiopscycles.com/).
@@ -13,24 +24,61 @@ APIOps and APIOps Cycles are trademarks owned by Osaango Oy (https://www.osaango
13
24
```
14
25
├── src/
15
26
│ ├── assets/ # APIOps Cycles logos and other core assets which you might need in your tooling or product
27
+
│ ├── lib/ # Method-engine, "walks" developer or AI through the method starting from needs, also used by the CLI when using the create apiops template
16
28
│ ├── data/method/ # The Method JSON files (structure, relationship, and guideline content)
17
29
│ ├── data/method/canvas/ # The Canvases included in the method as JSON files (also used by tools like Canvas Creator)
18
30
│ ├── snippets/ # Raw markdown files used for long content for resource docs (only essential extensions for the json files)
19
31
├── scripts/ # Utility scripts
20
32
└── package.json
33
+
├── skills/ # AI skills that help use the method to design APIs
34
+
├── packages/
35
+
└── create-apiops # scaffolding template published as node module. Starts a new guided API design project with `npm create apiops@latest`
21
36
```
22
37
23
-
## Requirements
38
+
## Integrating the method in to tools, and developer workflows
24
39
25
-
You can use the JSON files as is and download a .zip file or clone the repository. You can also install them using `npm install apiops-cycles-method-data`.
40
+
You can use the JSON files as is and download a .zip file or clone the repository. You can also install them using `npm install apiops-cycles-method-data`, or create a new API design and/or development project with `npm create apiops@latest`
26
41
27
42
The module exposes top-level exports so you can import the data files directly, for example:
The `method-engine` export is intended for reusable APIOps workflow logic. It gives CLIs, AI agents, apps, and APIs the same station recommendation, resource lookup, and canvas generation behavior without reimplementing the method rules.
55
+
56
+
The method now also includes reusable stakeholder data:
57
+
58
+
-`src/data/method/stakeholders.json` defines the shared stakeholder catalog
59
+
-`src/data/method/station-stakeholders.json` maps each station to weighted stakeholder participation
60
+
-`src/data/method/<locale>/labels.stakeholders.json` stores localized stakeholder titles, descriptions, and involvement labels
61
+
62
+
Stakeholder involvement uses three lightweight levels:
63
+
64
+
-`lead`
65
+
-`core`
66
+
-`consulted`
67
+
68
+
This is meant to keep APIOps Cycles explicitly cross-functional, including business, security, compliance, support, and consumer voices in architecture and design work where relevant.
69
+
70
+
Sticky note authoring should use the shared palette exposed by the method engine:
71
+
72
+
-`benefit`: `#C0EB6A`
73
+
-`neutral`: `#DFDDC5`
74
+
-`negative`: `#FFAFAF`
75
+
-`task`: `#7DC9E7`
76
+
-`default`: `#FFF399`
77
+
78
+
Prefer section-appropriate defaults when the intent is obvious from the canvas structure.
79
+
If a note does not fit a clear intent yet, use the generic default rather than guessing.
80
+
When using the interactive CLI, explicit note tags such as `[benefit]`, `[task]`, or `[color=#7DC9E7]` are the supported way to override the section default.
81
+
34
82
Validate the files locally with:
35
83
36
84
```bash
@@ -46,16 +94,6 @@ Install dependencies once with:
46
94
npm install
47
95
```
48
96
49
-
## Create a new APIOps project (CLI)
50
-
51
-
Once `create-apiops` is published to npm, you can scaffold a new project with:
52
-
53
-
```bash
54
-
npm create apiops@latest
55
-
```
56
-
57
-
This command runs the `create-apiops` initializer package and generates a starter APIOps project template in your current directory.
58
-
59
97
## Contributing
60
98
61
99
### Reporting issues or requesting features
@@ -64,16 +102,17 @@ If you spot a problem in the documentation or have an idea for new content, plea
64
102
65
103
### Editing or adding content
66
104
67
-
The main method files (instructions, guidelines, method structure) is located in the the JSON files at `src/data/method/`. These base files (`lines.json`, `stations.json`, `resources.json`, `criteria.json` and `station-criteria.json`) are not localized and live at the root of the folder. Textual values in them reference label keys. English labels are in `src/data/method/en-US` and translations are provided in `labels.lines.json`, `labels.stations.json`, `labels.resources.json` and `labels.criteria.json` under each locale folder. Some longer or more complex resource pages like the API Audit Checklist also use markdown snippets `src/snippets/` linked to the `resources.json`. Do not use any frontmatter in the snippet files. Any supported markdown markup is ok. See references from [Starlight markdown reference](https://starlight.astro.build/guides/authoring-content/) and [Extended markdown reference](https://www.markdownguide.org/extended-syntax/).
105
+
The main method content files (instructions, guidelines, method structure) are located in the JSON files at `src/data/method/`. These base files (`lines.json`, `stations.json`, `resources.json`, `criteria.json`, `station-criteria.json`, `stakeholders.json`, and `station-stakeholders.json`) are not localized and live at the root of the folder. Textual values in them reference label keys. English labels are in `src/data/method/en` and translations are provided in `labels.lines.json`, `labels.stations.json`, `labels.resources.json`, `labels.criteria.json`, and `labels.stakeholders.json` under each locale folder. Some longer or more complex resource pages like the API Audit Checklist also use markdown snippets `src/snippets/` linked to the `resources.json`. Do not use any frontmatter in the snippet files. Any supported markdown markup is ok. See references from [Starlight markdown reference](https://starlight.astro.build/guides/authoring-content/) and [Extended markdown reference](https://www.markdownguide.org/extended-syntax/).
68
106
69
-
Each station links to specific entry criteria followed by the next core station's criteria as exit criteria.`criteria.json`, `station-criteria.json` and `labels.criteria.json`
107
+
Each station links to specific entry criteria followed by the next core station's criteria as exit criteria. Stakeholder participation is modeled separately through `stakeholders.json`, `station-stakeholders.json`, and `labels.stakeholders.json`.
70
108
71
109
#### Editing existing content of Method pages (metrolines, core- and substations, resources).
72
110
1. Go to `src/data/method/en` and edit the content in English (English is considered the master langauge, and for the translations to work for other languages, it must always be the first to be edited).
73
111
2. Validate that your changes work by running the schema validations (`npm test`)
74
112
3. Follow the translation guide if you are able to translate the content to other languages manually or automatically.
75
-
4. Commit your code and make a pull request.
76
-
5. If you were not able to create the translations of your changes to all languages, create an issue for in the repository for the translations.
113
+
4. Update all supported locales before considering the change complete. This includes criteria wording and stakeholder labels when those are touched.
114
+
5. Commit your code and make a pull request.
115
+
6. If you were not able to create the translations of your changes to all languages, create an issue in the repository for the translations.
77
116
78
117
#### Translating the language manually or with automated services (new or existing languages with new or changed content)
0 commit comments