claudecode-omc 5.4.0 → 5.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.local/guidelines/CLAUDE.md +31 -0
- package/README.md +57 -1
- package/bundled/manifest.json +2 -2
- package/bundled/upstream/oh-my-claudecode/agents/analyst.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/architect.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/code-reviewer.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/code-simplifier.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/critic.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/debugger.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/designer.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/document-specialist.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/executor.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/explore.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/git-master.md +3 -3
- package/bundled/upstream/oh-my-claudecode/agents/planner.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/qa-tester.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/scientist.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/security-reviewer.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/test-engineer.md +1 -75
- package/bundled/upstream/oh-my-claudecode/agents/tracer.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/verifier.md +1 -1
- package/bundled/upstream/oh-my-claudecode/agents/writer.md +1 -1
- package/bundled/upstream/oh-my-claudecode/hooks/hooks.json +21 -1
- package/bundled/upstream/oh-my-claudecode/skills/AGENTS.md +200 -0
- package/bundled/upstream/oh-my-claudecode/skills/autopilot/SKILL.md +17 -10
- package/bundled/upstream/oh-my-claudecode/skills/autoresearch/SKILL.md +90 -0
- package/bundled/upstream/oh-my-claudecode/skills/cancel/SKILL.md +15 -6
- package/bundled/upstream/oh-my-claudecode/skills/configure-notifications/SKILL.md +12 -12
- package/bundled/upstream/oh-my-claudecode/skills/debug/SKILL.md +35 -0
- package/bundled/upstream/oh-my-claudecode/skills/deep-dive/SKILL.md +4 -0
- package/bundled/upstream/oh-my-claudecode/skills/deep-interview/SKILL.md +23 -18
- package/bundled/upstream/oh-my-claudecode/skills/hud/SKILL.md +23 -101
- package/bundled/upstream/oh-my-claudecode/skills/learner/SKILL.md +27 -2
- package/bundled/upstream/oh-my-claudecode/skills/mcp-setup/SKILL.md +67 -8
- package/bundled/upstream/oh-my-claudecode/skills/omc-doctor/SKILL.md +32 -47
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/SKILL.md +4 -2
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/01-install-claude-md.md +15 -4
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/02-configure.md +9 -9
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/03-integrations.md +13 -13
- package/bundled/upstream/oh-my-claudecode/skills/omc-setup/phases/04-welcome.md +3 -3
- package/bundled/upstream/oh-my-claudecode/skills/omc-teams/SKILL.md +28 -0
- package/bundled/upstream/oh-my-claudecode/skills/plan/SKILL.md +1 -0
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/SKILL.md +25 -5
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/config.sh +2 -15
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/providers/github.sh +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/session.sh +2 -2
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/tmux.sh +109 -4
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/lib/worktree.sh +26 -0
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/psm.sh +46 -5
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/templates/pr-review.md +5 -2
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/templates/projects.json +1 -1
- package/bundled/upstream/oh-my-claudecode/skills/project-session-manager/tests/test-psm-prompt-injection.sh +336 -0
- package/bundled/upstream/oh-my-claudecode/skills/ralph/SKILL.md +18 -9
- package/bundled/upstream/oh-my-claudecode/skills/ralplan/SKILL.md +2 -0
- package/bundled/upstream/oh-my-claudecode/skills/release/SKILL.md +167 -57
- package/bundled/upstream/oh-my-claudecode/skills/remember/SKILL.md +41 -0
- package/bundled/upstream/oh-my-claudecode/skills/self-improve/SKILL.md +391 -0
- package/bundled/upstream/oh-my-claudecode/skills/self-improve/data_contracts.md +274 -0
- package/bundled/upstream/oh-my-claudecode/skills/self-improve/scripts/plot_progress.py +128 -0
- package/bundled/upstream/oh-my-claudecode/skills/self-improve/scripts/resolve-paths.mjs +192 -0
- package/bundled/upstream/oh-my-claudecode/skills/self-improve/scripts/validate.sh +404 -0
- package/bundled/upstream/oh-my-claudecode/skills/self-improve/si-benchmark-builder.md +79 -0
- package/bundled/upstream/oh-my-claudecode/skills/self-improve/si-goal-clarifier.md +94 -0
- package/bundled/upstream/oh-my-claudecode/skills/self-improve/si-researcher.md +73 -0
- package/bundled/upstream/oh-my-claudecode/skills/self-improve/templates/agent-settings.json +14 -0
- package/bundled/upstream/oh-my-claudecode/skills/self-improve/templates/goal.md +22 -0
- package/bundled/upstream/oh-my-claudecode/skills/self-improve/templates/harness.md +18 -0
- package/bundled/upstream/oh-my-claudecode/skills/self-improve/templates/idea.md +5 -0
- package/bundled/upstream/oh-my-claudecode/skills/self-improve/templates/settings.json +23 -0
- package/bundled/upstream/oh-my-claudecode/skills/skill/SKILL.md +46 -77
- package/bundled/upstream/oh-my-claudecode/skills/skillify/SKILL.md +53 -0
- package/bundled/upstream/oh-my-claudecode/skills/team/SKILL.md +83 -11
- package/bundled/upstream/oh-my-claudecode/skills/trace/SKILL.md +1 -0
- package/bundled/upstream/oh-my-claudecode/skills/ultraqa/SKILL.md +1 -0
- package/bundled/upstream/oh-my-claudecode/skills/ultrawork/SKILL.md +1 -0
- package/bundled/upstream/oh-my-claudecode/skills/verify/SKILL.md +37 -0
- package/bundled/upstream/oh-my-claudecode/skills/wiki/SKILL.md +67 -0
- package/package.json +3 -1
- package/src/cli/artifact.js +47 -0
- package/src/cli/guidelines.js +83 -0
- package/src/cli/index.js +13 -1
- package/src/cli/setup.js +35 -17
- package/src/cli/source.js +35 -1
- package/src/config/artifact-types.js +12 -2
- package/src/config/paths.js +95 -4
- package/src/config/sources.js +29 -5
- package/src/guidelines/apply.js +152 -0
- package/src/guidelines/optimizer.js +325 -0
- package/src/merge/claude-md-merger.js +35 -12
- package/bundled/upstream/oh-my-claudecode/skills/omc-doctor/skill-debugger.md +0 -101
|
@@ -1,88 +1,198 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: release
|
|
3
|
-
description:
|
|
3
|
+
description: Generic release assistant — analyzes repo release rules, caches them in .omc/RELEASE_RULE.md, then guides the release
|
|
4
4
|
level: 3
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Release Skill
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
A thin, repo-aware release assistant. On first run it inspects the project and CI to derive release rules, stores them in `.omc/RELEASE_RULE.md` for future use, then walks you through a release using those rules.
|
|
10
10
|
|
|
11
11
|
## Usage
|
|
12
12
|
|
|
13
13
|
```
|
|
14
|
-
/oh-my-claudecode:release
|
|
14
|
+
/oh-my-claudecode:release [version]
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
- `version` is optional. If omitted the skill will ask. Accepts `patch`, `minor`, `major`, or an explicit semver like `2.4.0`.
|
|
18
|
+
- Add `--refresh` to force re-analysis of the repo even when a cached rule file exists.
|
|
18
19
|
|
|
19
|
-
##
|
|
20
|
+
## Execution Flow
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
### Step 0 — Load or Build Release Rules
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
Update version in all locations:
|
|
25
|
-
- `package.json`
|
|
26
|
-
- `src/installer/index.ts` (VERSION constant)
|
|
27
|
-
- `src/__tests__/installer.test.ts` (expected version)
|
|
28
|
-
- `.claude-plugin/plugin.json`
|
|
29
|
-
- `.claude-plugin/marketplace.json` (both `plugins[0].version` and root `version`)
|
|
30
|
-
- `docs/CLAUDE.md` (`<!-- OMC:VERSION:X.Y.Z -->` marker)
|
|
31
|
-
- `README.md` (version badge and title)
|
|
24
|
+
Check whether `.omc/RELEASE_RULE.md` exists.
|
|
32
25
|
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
npm run test:run
|
|
36
|
-
```
|
|
37
|
-
All 231+ tests must pass before proceeding.
|
|
26
|
+
**If it does NOT exist (or `--refresh` was passed):** Run the full repo analysis below and write the file.
|
|
38
27
|
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
git add -A
|
|
42
|
-
git commit -m "chore: Bump version to <version>"
|
|
43
|
-
```
|
|
28
|
+
**If it DOES exist:** Read the file. Then do a quick delta check — scan `.github/workflows/` (or equivalent CI dirs: `.circleci/`, `.travis.yml`, `Jenkinsfile`, `bitbucket-pipelines.yml`, `gitlab-ci.yml`) for any modifications newer than the `last-analyzed` timestamp in the rule file. If relevant workflow files changed, re-run the analysis for those sections and update the file. Report what changed.
|
|
44
29
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
### Step 1 — Repo Analysis (first run or --refresh)
|
|
33
|
+
|
|
34
|
+
Inspect the repo and answer the following. Write answers into `.omc/RELEASE_RULE.md`.
|
|
35
|
+
|
|
36
|
+
#### 1a. Version Sources
|
|
37
|
+
|
|
38
|
+
- Locate all files that contain a version string matching the current version in `package.json` / `pyproject.toml` / `Cargo.toml` / `build.gradle` / `VERSION` file / etc.
|
|
39
|
+
- List each file and the field or regex pattern used to find the version.
|
|
40
|
+
- Detect whether there is a release automation script (e.g. `scripts/release.*`, `Makefile release` target, `bump2version`, `release-it`, `semantic-release`, `changesets`, `goreleaser`).
|
|
41
|
+
|
|
42
|
+
#### 1b. Registry / Distribution
|
|
43
|
+
|
|
44
|
+
- npm (`package.json` with `publishConfig` or `npm publish` in CI), PyPI (`pyproject.toml` + `twine`/`flit`), Cargo (`Cargo.toml`), Docker (`Dockerfile` + push step), GitHub Packages, other.
|
|
45
|
+
- Is there a CI step that publishes automatically on tag push? Which workflow file and job?
|
|
46
|
+
|
|
47
|
+
#### 1c. Release Trigger
|
|
48
|
+
|
|
49
|
+
- Identify what starts the release: tag push (`v*`), manual dispatch (`workflow_dispatch`), merge to main/master, a release branch merge, a commit message pattern.
|
|
50
|
+
|
|
51
|
+
#### 1d. Test Gate
|
|
52
|
+
|
|
53
|
+
- Identify the test command and where it runs in CI.
|
|
54
|
+
- Are tests required to pass before publish? Note any bypass flags.
|
|
55
|
+
|
|
56
|
+
#### 1e. Release Notes / Changelog
|
|
57
|
+
|
|
58
|
+
- Does a `CHANGELOG.md` or `CHANGELOG.rst` exist?
|
|
59
|
+
- What convention is used: Keep a Changelog, Conventional Commits, GitHub auto-generated, none?
|
|
60
|
+
- Is there a release body file (e.g. `.github/release-body.md`) committed pre-tag?
|
|
51
61
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
62
|
+
#### 1f. First-Time User Check
|
|
63
|
+
|
|
64
|
+
- Does a release workflow exist in `.github/workflows/` (or equivalent)? If not, flag this and offer to scaffold one.
|
|
65
|
+
- Is there a `.gitignore` entry preventing build artifacts from being committed? If not, flag it.
|
|
66
|
+
- Are git tags being used? Run `git tag --list` to check. If no tags exist, flag and explain best practice.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
### Step 2 — Write `.omc/RELEASE_RULE.md`
|
|
71
|
+
|
|
72
|
+
Create or overwrite the file with this structure:
|
|
73
|
+
|
|
74
|
+
```markdown
|
|
75
|
+
# Release Rules
|
|
76
|
+
<!-- last-analyzed: YYYY-MM-DDTHH:MM:SSZ -->
|
|
77
|
+
|
|
78
|
+
## Version Sources
|
|
79
|
+
<!-- list of files + patterns -->
|
|
80
|
+
|
|
81
|
+
## Release Trigger
|
|
82
|
+
<!-- what kicks off the release -->
|
|
83
|
+
|
|
84
|
+
## Test Gate
|
|
85
|
+
<!-- command + CI job name -->
|
|
86
|
+
|
|
87
|
+
## Registry / Distribution
|
|
88
|
+
<!-- npm, PyPI, Docker, etc. + CI job that publishes -->
|
|
89
|
+
|
|
90
|
+
## Release Notes Strategy
|
|
91
|
+
<!-- convention + files -->
|
|
92
|
+
|
|
93
|
+
## CI Workflow Files
|
|
94
|
+
<!-- paths to relevant workflow files -->
|
|
95
|
+
|
|
96
|
+
## First-Time Setup Gaps
|
|
97
|
+
<!-- any missing pieces found during analysis, or "none" -->
|
|
55
98
|
```
|
|
56
99
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
### Step 3 — Determine Version
|
|
103
|
+
|
|
104
|
+
If the user provided a version argument, use it. Otherwise:
|
|
105
|
+
|
|
106
|
+
1. Show the current version (from the primary version file).
|
|
107
|
+
2. Show what `patch`, `minor`, and `major` would produce.
|
|
108
|
+
3. Ask the user which to use.
|
|
109
|
+
|
|
110
|
+
Validate the chosen version is a valid semver string.
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
### Step 4 — Pre-Release Checklist
|
|
115
|
+
|
|
116
|
+
Present a checklist derived from the release rules. At minimum:
|
|
117
|
+
|
|
118
|
+
- [ ] All changes intended for this release are committed and pushed
|
|
119
|
+
- [ ] CI is green on the target branch
|
|
120
|
+
- [ ] Tests pass locally (run the test gate command)
|
|
121
|
+
- [ ] Version bump applied to all version source files
|
|
122
|
+
- [ ] Release notes / changelog prepared (see Step 5)
|
|
123
|
+
|
|
124
|
+
Ask the user to confirm before proceeding, or run each step if they say "go ahead".
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
### Step 5 — Release Notes Guidance
|
|
129
|
+
|
|
130
|
+
Help the user write good release notes. Apply whichever convention the repo uses. Default guidance when no convention is detected:
|
|
131
|
+
|
|
132
|
+
**What makes a good release note:**
|
|
133
|
+
- Lead with **what changed for users**, not internal implementation details.
|
|
134
|
+
- Group by type: `New Features`, `Bug Fixes`, `Breaking Changes`, `Deprecations`, `Internal / Chores`.
|
|
135
|
+
- For each item: one sentence, link to the PR or issue, credit the author if external.
|
|
136
|
+
- **Breaking changes** go first and must include a migration path.
|
|
137
|
+
- Omit changes users never see (refactors, CI tweaks, test-only changes) unless they affect build reproducibility.
|
|
138
|
+
|
|
139
|
+
**Example entry format:**
|
|
140
|
+
```
|
|
141
|
+
### Bug Fixes
|
|
142
|
+
- Fix session drop on token expiry (#123) — @contributor
|
|
60
143
|
```
|
|
61
144
|
|
|
62
|
-
|
|
63
|
-
- [ ] npm: https://www.npmjs.com/package/oh-my-claudecode
|
|
64
|
-
- [ ] GitHub: https://github.com/Yeachan-Heo/oh-my-claudecode/releases
|
|
145
|
+
If the repo uses Conventional Commits, generate a draft changelog from `git log <prev-tag>..HEAD --no-merges --format="%s"` grouped by commit type. Show it to the user and let them edit.
|
|
65
146
|
|
|
66
|
-
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
### Step 6 — Execute Release
|
|
150
|
+
|
|
151
|
+
Using the rules discovered, walk through:
|
|
152
|
+
|
|
153
|
+
1. **Bump version** — apply to each version source file.
|
|
154
|
+
2. **Run tests** — execute the test gate command.
|
|
155
|
+
3. **Commit** — `git add <version files> CHANGELOG.md` and commit with `chore(release): bump version to vX.Y.Z`.
|
|
156
|
+
4. **Tag** — `git tag -a vX.Y.Z -m "vX.Y.Z"` (annotated tags are preferred over lightweight).
|
|
157
|
+
5. **Push** — `git push origin <branch> && git push origin vX.Y.Z`.
|
|
158
|
+
6. **CI takes over** — if the release trigger is a tag push, remind the user that CI will handle the rest (publish, GitHub release creation). Show the expected CI workflow file.
|
|
159
|
+
7. **Manual publish** — if no CI automation exists, list the manual publish command (e.g. `npm publish --access public`, `twine upload dist/*`).
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
### Step 7 — First-Time Setup Suggestions
|
|
164
|
+
|
|
165
|
+
If gaps were found in Step 1f, offer concrete help:
|
|
67
166
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
| `docs/CLAUDE.md` | `<!-- OMC:VERSION:X.Y.Z -->` |
|
|
76
|
-
| `README.md` | Title + version badge |
|
|
167
|
+
**No release workflow:**
|
|
168
|
+
> Your repo doesn't have a release CI workflow. A GitHub Actions workflow triggered on `v*` tag push is the most common best practice. It can:
|
|
169
|
+
> - Run tests
|
|
170
|
+
> - Publish to npm/PyPI/etc.
|
|
171
|
+
> - Create a GitHub Release with your release notes
|
|
172
|
+
>
|
|
173
|
+
> Want me to scaffold a `.github/workflows/release.yml` for your stack?
|
|
77
174
|
|
|
78
|
-
|
|
175
|
+
**No git tags:**
|
|
176
|
+
> This appears to be the first release. Git tags let GitHub, npm, and other tools understand your version history. We'll create your first tag in Step 6.
|
|
79
177
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
178
|
+
**Build artifacts not gitignored:**
|
|
179
|
+
> Build artifacts are present in git history or not gitignored. This inflates repo size and creates merge conflicts. Want me to add them to `.gitignore`?
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
### Step 8 — Verify
|
|
184
|
+
|
|
185
|
+
After the push:
|
|
186
|
+
- Check CI status: `gh run list --workflow=<release workflow> --limit=3` (if `gh` is available).
|
|
187
|
+
- Check the registry (npm, PyPI) for the new version after a few minutes.
|
|
188
|
+
- Confirm a GitHub Release was created: `gh release view vX.Y.Z`.
|
|
189
|
+
|
|
190
|
+
Report success or flag any failures.
|
|
191
|
+
|
|
192
|
+
---
|
|
83
193
|
|
|
84
194
|
## Notes
|
|
85
195
|
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
196
|
+
- This skill does **not** hardcode any project-specific version files or commands. Everything is derived from repo inspection.
|
|
197
|
+
- `.omc/RELEASE_RULE.md` is a local cache. Commit it to your repo if you want to share the derived rules with your team, or add it to `.gitignore` if you prefer it stays local.
|
|
198
|
+
- For complex monorepos or multi-package workspaces, the skill will detect workspace patterns (npm workspaces, pnpm workspaces, Cargo workspace) and adapt accordingly.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: remember
|
|
3
|
+
description: Review reusable project knowledge and decide what belongs in project memory, notepad, or durable docs
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Remember
|
|
7
|
+
|
|
8
|
+
Use this skill when the user wants to preserve or organize useful knowledge discovered during a session.
|
|
9
|
+
|
|
10
|
+
## Goal
|
|
11
|
+
Promote durable, reusable knowledge into the right memory surface instead of leaving it buried in chat history.
|
|
12
|
+
|
|
13
|
+
## Memory surfaces
|
|
14
|
+
- **Project memory** — durable team/project knowledge
|
|
15
|
+
- **Notepad priority** — short high-signal context for the next turns
|
|
16
|
+
- **Notepad working** — temporary active-session notes
|
|
17
|
+
- **Docs / AGENTS / CLAUDE files** — durable instructions and conventions when they truly belong there
|
|
18
|
+
|
|
19
|
+
## Workflow
|
|
20
|
+
1. Gather the relevant session findings.
|
|
21
|
+
2. Classify each item:
|
|
22
|
+
- durable project fact
|
|
23
|
+
- temporary working note
|
|
24
|
+
- operator preference or instruction
|
|
25
|
+
- duplicate / stale / conflicting information
|
|
26
|
+
3. Propose the best destination for each item.
|
|
27
|
+
4. Write or update only the appropriate memory surface.
|
|
28
|
+
5. Call out duplicates or conflicts that should be cleaned up.
|
|
29
|
+
|
|
30
|
+
## Rules
|
|
31
|
+
- Do not dump everything into one store.
|
|
32
|
+
- Prefer project memory for durable team knowledge.
|
|
33
|
+
- Prefer notepad for short-lived working context.
|
|
34
|
+
- Keep entries concise and actionable.
|
|
35
|
+
- If something is uncertain, mark it as uncertain rather than storing it as fact.
|
|
36
|
+
|
|
37
|
+
## Output
|
|
38
|
+
- What was stored
|
|
39
|
+
- Where it was stored
|
|
40
|
+
- Any duplicates/conflicts found
|
|
41
|
+
|