diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml
index 128e2c7..bd4e1ad 100644
--- a/.github/ISSUE_TEMPLATE/bug.yml
+++ b/.github/ISSUE_TEMPLATE/bug.yml
@@ -19,7 +19,7 @@ body:
id: version
attributes:
label: stackmap version
- description: "`npx @hyamero/stackmap --version`, or the version in the skill's SKILL.md"
+ description: "`npx @omsimos/stackmap --version`, or the version in the skill's SKILL.md"
validations:
required: true
- type: input
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index 580ef78..05ef378 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,5 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Report a security vulnerability
- url: https://github.com/hyamero/stackmap/security/advisories/new
+ url: https://github.com/omsimos/stackmap/security/advisories/new
about: Please report security issues privately, not as a public issue.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 296a31c..99bb0db 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -29,7 +29,7 @@ bun run test && bun run typecheck && bun run build # unit tests, types, viewer
| `packages/schema` | Zod schema → `stackmap.schema.json`, the validator and its diagnostics |
| `packages/layout` | ELK wrapper and stackmap's own lane and sequence layout: diagram → absolute geometry |
| `packages/viewer` | React viewer, built into one self-contained HTML template |
-| `packages/cli` | `@hyamero/stackmap`: validate · deliver · serve (the only published package) |
+| `packages/cli` | `@omsimos/stackmap`: validate · deliver · serve (the only published package) |
| `skill/` | the agent skill that `npx skills add` installs: `SKILL.md`, the schema reference, examples |
| `site/` | `@stackmap/site`: the website (Next.js), deployed on Vercel; never published |
@@ -92,11 +92,11 @@ workflow's `release` job runs them after the checks pass.
- **Release candidates:** every push to `staging` with a `feat`, `fix` or `perf` commit since the last release
publishes `x.y.z-rc.N` to npm under the `rc` tag, with a GitHub prerelease. Try one with
- `npx @hyamero/stackmap@rc`.
+ `npx @omsimos/stackmap@rc`.
- **Releases:** merging `staging` into `main` with a **merge commit** publishes `x.y.z` under `latest`, with a
GitHub release. Don't squash or rebase this merge: the release candidates' tags must stay in `main`'s history,
or the next version is miscounted.
-- **The version is pinned in the repo:** the skill runs an exact CLI version (`npx -y @hyamero/stackmap@x.y.z`),
+- **The version is pinned in the repo:** the skill runs an exact CLI version (`npx -y @omsimos/stackmap@x.y.z`),
and the JSON Schema id and the examples name it too. On a release, `scripts/set-version.mjs` updates them all,
the bot commits `chore(release): x.y.z [skip ci]` to `main`, and then merges `main` back into `staging`.
Release candidates only change the published package, so the repo keeps the last release's version between
diff --git a/README.md b/README.md
index 2f44a56..01fb59c 100644
--- a/README.md
+++ b/README.md
@@ -6,9 +6,9 @@
-
-
-
+
+
+
@@ -26,7 +26,7 @@ https://github.com/user-attachments/assets/4dd05dfc-fa5a-42e7-ad1a-6150aeb9ad9f
Install the skill into your agent (Claude Code, Cursor, Codex and [others](https://github.com/vercel-labs/skills)):
```bash
-npx skills add hyamero/stackmap
+npx skills add omsimos/stackmap
```
Then ask:
@@ -63,7 +63,7 @@ The agent writes `.stackmap//diagram.json`, validates and repairs it, and
```json
{
- "$schema": "https://unpkg.com/@hyamero/stackmap@0.2.0/dist/stackmap.schema.json",
+ "$schema": "https://unpkg.com/@omsimos/stackmap@0.2.0/dist/stackmap.schema.json",
"kind": "architecture",
"title": "Bookshop",
"direction": "DOWN",
@@ -96,9 +96,9 @@ Full reference: [skill/references/schema.md](skill/references/schema.md), or the
The skill runs the CLI for you, and it works on its own too (Node 22.12 or later):
```bash
-npx @hyamero/stackmap validate diagram.json [--json] # diagnostics with fixes; exit 1 on errors
-npx @hyamero/stackmap deliver diagram.json [-o out.html] [--open] # validate → layout → one offline HTML file
-npx @hyamero/stackmap serve diagram.json [--port 4400] # live viewer that reloads on every save
+npx @omsimos/stackmap validate diagram.json [--json] # diagnostics with fixes; exit 1 on errors
+npx @omsimos/stackmap deliver diagram.json [-o out.html] [--open] # validate → layout → one offline HTML file
+npx @omsimos/stackmap serve diagram.json [--port 4400] # live viewer that reloads on every save
```
- **validate** lists every problem with a code, its evidence and the allowed fixes, including card text that won't fit. It exits `1` when the diagram has errors and `2` on usage, IO or internal errors.
diff --git a/SECURITY.md b/SECURITY.md
index 4a6f277..6e8041c 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -3,10 +3,10 @@
## Reporting a vulnerability
Please report security issues privately through GitHub:
-[**Report a vulnerability**](https://github.com/hyamero/stackmap/security/advisories/new). Don't open a public
+[**Report a vulnerability**](https://github.com/omsimos/stackmap/security/advisories/new). Don't open a public
issue or pull request for them.
-Include what an attacker could do, the stackmap version (`npx @hyamero/stackmap --version`), and a diagram or steps
+Include what an attacker could do, the stackmap version (`npx @omsimos/stackmap --version`), and a diagram or steps
that reproduce it. You'll get a reply within a week. Once a fix is released, the advisory is published with credit
to you unless you'd rather stay anonymous.
diff --git a/assets/brand/stackmap-github-preview.png b/assets/brand/stackmap-github-preview.png
index d0b914b..f5783ef 100644
Binary files a/assets/brand/stackmap-github-preview.png and b/assets/brand/stackmap-github-preview.png differ
diff --git a/assets/brand/stackmap-social-card-light.png b/assets/brand/stackmap-social-card-light.png
index aeee97a..7810f62 100644
Binary files a/assets/brand/stackmap-social-card-light.png and b/assets/brand/stackmap-social-card-light.png differ
diff --git a/assets/brand/stackmap-social-card.png b/assets/brand/stackmap-social-card.png
index ac20e3f..d775b0d 100644
Binary files a/assets/brand/stackmap-social-card.png and b/assets/brand/stackmap-social-card.png differ
diff --git a/bun.lock b/bun.lock
index 215484f..65116d9 100644
--- a/bun.lock
+++ b/bun.lock
@@ -20,7 +20,7 @@
},
},
"packages/cli": {
- "name": "@hyamero/stackmap",
+ "name": "@omsimos/stackmap",
"version": "0.2.0",
"bin": {
"stackmap": "./dist/cli.js",
@@ -263,7 +263,7 @@
"@gsap/react": ["@gsap/react@2.1.2", "", { "peerDependencies": { "gsap": "^3.12.5", "react": ">=17" } }, "sha512-JqliybO1837UcgH2hVOM4VO+38APk3ECNrsuSM4MuXp+rbf+/2IG2K1YJiqfTcXQHH7XlA0m3ykniFYstfq0Iw=="],
- "@hyamero/stackmap": ["@hyamero/stackmap@workspace:packages/cli"],
+ "@omsimos/stackmap": ["@omsimos/stackmap@workspace:packages/cli"],
"@img/colour": ["@img/colour@1.1.0", "", {}, "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ=="],
diff --git a/package.json b/package.json
index 79e557a..29ab25c 100644
--- a/package.json
+++ b/package.json
@@ -13,7 +13,7 @@
"scripts": {
"test": "bun run --filter './packages/*' test",
"typecheck": "bun run --filter './packages/*' typecheck",
- "build": "bun run --filter @stackmap/viewer build && bun run --filter @hyamero/stackmap build"
+ "build": "bun run --filter @stackmap/viewer build && bun run --filter @omsimos/stackmap build"
},
"devDependencies": {
"@commitlint/cli": "^21.2.3",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index d41ff12..93f3bd9 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,5 +1,5 @@
{
- "name": "@hyamero/stackmap",
+ "name": "@omsimos/stackmap",
"version": "0.2.0",
"description": "Interactive system diagrams your coding agent writes, as one offline HTML file",
"keywords": [
@@ -11,15 +11,18 @@
"elk",
"offline",
"html",
- "dataflow"
+ "dataflow",
+ "workflow",
+ "lifecycle",
+ "sequence"
],
"homepage": "https://stackmap.omsimos.com",
"repository": {
"type": "git",
- "url": "git+https://github.com/hyamero/stackmap.git",
+ "url": "git+https://github.com/omsimos/stackmap.git",
"directory": "packages/cli"
},
- "bugs": "https://github.com/hyamero/stackmap/issues",
+ "bugs": "https://github.com/omsimos/stackmap/issues",
"license": "MIT",
"type": "module",
"bin": {
diff --git a/packages/cli/scripts/prepack.mjs b/packages/cli/scripts/prepack.mjs
index 8c909f9..9abf131 100644
--- a/packages/cli/scripts/prepack.mjs
+++ b/packages/cli/scripts/prepack.mjs
@@ -5,5 +5,5 @@ for (const f of ['README.md', 'LICENSE', 'THIRD_PARTY_NOTICES.md']) copyFileSync
// npm resolves relative images against the package, not the repo root: point the README's images at GitHub.
const readme = new URL('../README.md', import.meta.url);
-const raw = 'https://raw.githubusercontent.com/hyamero/stackmap/main/';
+const raw = 'https://raw.githubusercontent.com/omsimos/stackmap/main/';
writeFileSync(readme, readFileSync(readme, 'utf8').replace(/(src|srcset)="(assets\/[^"]+)"/g, `$1="${raw}$2"`));
diff --git a/packages/cli/test/skill.test.ts b/packages/cli/test/skill.test.ts
index 71b73f7..4d35725 100644
--- a/packages/cli/test/skill.test.ts
+++ b/packages/cli/test/skill.test.ts
@@ -1,5 +1,6 @@
import { readdirSync, readFileSync } from 'node:fs';
import { describe, expect, it } from 'vitest';
+import { DIAGRAM_KINDS } from '@stackmap/core';
import { SCHEMA_ID } from '@stackmap/schema';
const pkg = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')) as { name: string; version: string };
@@ -10,7 +11,7 @@ const pinned = `${pkg.name}@${pkg.version}`;
describe('skill ↔ CLI version', () => {
it('SKILL.md runs exactly this CLI version', () => {
const md = skill('SKILL.md');
- const pins = [...md.matchAll(/@hyamero\/stackmap@[\w.-]+/g)].map((m) => m[0]);
+ const pins = [...md.matchAll(/@omsimos\/stackmap@[\w.-]+/g)].map((m) => m[0]);
expect(pins.length).toBeGreaterThan(0);
expect(new Set(pins)).toEqual(new Set([pinned]));
expect(md).toContain(`version: "${pkg.version}"`);
@@ -24,6 +25,11 @@ describe('skill ↔ CLI version', () => {
});
describe('package.json', () => {
+ it('names every diagram kind in its npm keywords, so a search for any of them finds the package', () => {
+ const { keywords } = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')) as { keywords: string[] };
+ for (const kind of DIAGRAM_KINDS) expect(keywords, kind).toContain(kind);
+ });
+
it('declares bin paths the way npm publish accepts them (no "./" prefix, or npm drops the bin)', () => {
const { bin } = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')) as { bin: Record };
expect(bin).toEqual({ stackmap: 'dist/cli.js' });
diff --git a/packages/core/src/samples/index.ts b/packages/core/src/samples/index.ts
index e2068b5..5733531 100644
--- a/packages/core/src/samples/index.ts
+++ b/packages/core/src/samples/index.ts
@@ -16,7 +16,7 @@ export const commerceApi: DiagramDraft = {
kind: 'architecture',
title: 'Commerce API',
subtitle: 'Production topology',
- source: { url: 'https://github.com/hyamero/stackmap/blob/main' },
+ source: { url: 'https://github.com/omsimos/stackmap/blob/main' },
direction: 'RIGHT',
nodes: [
{
diff --git a/packages/schema/src/schema.ts b/packages/schema/src/schema.ts
index 4462fa4..afd1281 100644
--- a/packages/schema/src/schema.ts
+++ b/packages/schema/src/schema.ts
@@ -117,7 +117,7 @@ const View = z.strictObject({
export const DiagramDraftSchema = z
.strictObject({
- $schema: z.string().optional().meta({ description: `Optional; set it to ${'`'}https://unpkg.com/@hyamero/stackmap@0.2.0/dist/stackmap.schema.json${'`'} for editor completion.` }),
+ $schema: z.string().optional().meta({ description: `Optional; set it to ${'`'}https://unpkg.com/@omsimos/stackmap@0.2.0/dist/stackmap.schema.json${'`'} for editor completion.` }),
kind: z.enum(DIAGRAM_KINDS),
density: z
.enum(['compact'])
@@ -145,7 +145,7 @@ export const DiagramDraftSchema = z
.meta({ title: 'stackmap diagram', description: 'Agent-authored diagram. Layout is computed by stackmap; never give coordinates.' });
/** Served from the published CLI package, so it is pinned to the same version as the validator. */
-export const SCHEMA_ID = 'https://unpkg.com/@hyamero/stackmap@0.2.0/dist/stackmap.schema.json';
+export const SCHEMA_ID = 'https://unpkg.com/@omsimos/stackmap@0.2.0/dist/stackmap.schema.json';
export function buildJsonSchema(): Record {
return { ...z.toJSONSchema(DiagramDraftSchema, { target: 'draft-2020-12' }), $id: SCHEMA_ID };
diff --git a/packages/schema/stackmap.schema.json b/packages/schema/stackmap.schema.json
index 1c2b733..06f3c79 100644
--- a/packages/schema/stackmap.schema.json
+++ b/packages/schema/stackmap.schema.json
@@ -3,7 +3,7 @@
"type": "object",
"properties": {
"$schema": {
- "description": "Optional; set it to `https://unpkg.com/@hyamero/stackmap@0.2.0/dist/stackmap.schema.json` for editor completion.",
+ "description": "Optional; set it to `https://unpkg.com/@omsimos/stackmap@0.2.0/dist/stackmap.schema.json` for editor completion.",
"type": "string"
},
"kind": {
@@ -510,5 +510,5 @@
"additionalProperties": false,
"title": "stackmap diagram",
"description": "Agent-authored diagram. Layout is computed by stackmap; never give coordinates.",
- "$id": "https://unpkg.com/@hyamero/stackmap@0.2.0/dist/stackmap.schema.json"
+ "$id": "https://unpkg.com/@omsimos/stackmap@0.2.0/dist/stackmap.schema.json"
}
diff --git a/packages/viewer/e2e/explore.spec.ts b/packages/viewer/e2e/explore.spec.ts
index 4042c9c..37ae7b5 100644
--- a/packages/viewer/e2e/explore.spec.ts
+++ b/packages/viewer/e2e/explore.spec.ts
@@ -26,7 +26,7 @@ test('clicking a card selects it: inspector shows its data, connections and evid
await expect(panel.getByText('Read replicas', { exact: true })).toBeVisible();
await expect(panel.getByRole('list', { name: 'Connections' }).getByRole('button')).toHaveCount(3);
const link = panel.getByRole('link', { name: 'infra/orders/postgres.tf:12' });
- await expect(link).toHaveAttribute('href', 'https://github.com/hyamero/stackmap/blob/main/infra/orders/postgres.tf#L12');
+ await expect(link).toHaveAttribute('href', 'https://github.com/omsimos/stackmap/blob/main/infra/orders/postgres.tf#L12');
await expect(panel.getByText('Primary + 2 read replicas')).toBeVisible();
// Its direct edges take the source (service) tint.
await expect(page.locator('path[data-edge-id="e-1-orders"]')).toHaveAttribute('data-tint', 'service');
diff --git a/packages/viewer/index.html b/packages/viewer/index.html
index 08132a1..7c08cb0 100644
--- a/packages/viewer/index.html
+++ b/packages/viewer/index.html
@@ -2,11 +2,11 @@
diff --git a/packages/viewer/src/samples/commerce-api.layout.ts b/packages/viewer/src/samples/commerce-api.layout.ts
index 2aac715..ed6a207 100644
--- a/packages/viewer/src/samples/commerce-api.layout.ts
+++ b/packages/viewer/src/samples/commerce-api.layout.ts
@@ -7,7 +7,7 @@ export const commerceApiLayout: LaidOutDiagram = {
"title": "Commerce API",
"subtitle": "Production topology",
"source": {
- "url": "https://github.com/hyamero/stackmap/blob/main"
+ "url": "https://github.com/omsimos/stackmap/blob/main"
},
"direction": "RIGHT",
"nodes": [
diff --git a/scripts/set-version.mjs b/scripts/set-version.mjs
index 71aca31..2a09a3e 100644
--- a/scripts/set-version.mjs
+++ b/scripts/set-version.mjs
@@ -1,5 +1,5 @@
// Sets the release version everywhere it is pinned: the CLI's package.json and lockfile entry, and every
-// `@hyamero/stackmap@x.y.z` in tracked files (the skill's npx commands, the JSON Schema id, the examples).
+// `@omsimos/stackmap@x.y.z` in tracked files (the skill's npx commands, the JSON Schema id, the examples).
// semantic-release runs it before packing; `skill.test.ts` checks the pins agree. Usage: node scripts/set-version.mjs
import { execFileSync } from 'node:child_process';
import { readFileSync, writeFileSync } from 'node:fs';
@@ -23,12 +23,12 @@ const changed = [];
// Only the version line, so the rest of each file keeps its formatting.
if (edit('packages/cli/package.json', (s) => s.replace(/^( "version": )"[^"]+"/m, `$1"${version}"`))) changed.push('packages/cli/package.json');
// `bun install --frozen-lockfile` fails when a workspace's version no longer matches its lockfile entry.
-if (edit('bun.lock', (s) => s.replace(/("packages\/cli": \{\s*"name": "@hyamero\/stackmap",\s*"version": )"[^"]+"/, `$1"${version}"`))) changed.push('bun.lock');
+if (edit('bun.lock', (s) => s.replace(/("packages\/cli": \{\s*"name": "@omsimos\/stackmap",\s*"version": )"[^"]+"/, `$1"${version}"`))) changed.push('bun.lock');
if (edit('skill/SKILL.md', (s) => s.replace(/^( version: )"[^"]+"/m, `$1"${version}"`))) changed.push('skill/SKILL.md');
-const pin = /@hyamero\/stackmap@\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?/g;
-const tracked = execFileSync('git', ['grep', '-lE', '@hyamero/stackmap@[0-9]', '--', ':!bun.lock'], { cwd: root, encoding: 'utf8' });
+const pin = /@omsimos\/stackmap@\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?/g;
+const tracked = execFileSync('git', ['grep', '-lE', '@omsimos/stackmap@[0-9]', '--', ':!bun.lock'], { cwd: root, encoding: 'utf8' });
for (const path of tracked.split('\n').filter(Boolean))
- if (edit(path, (s) => s.replace(pin, `@hyamero/stackmap@${version}`)) && !changed.includes(path)) changed.push(path);
+ if (edit(path, (s) => s.replace(pin, `@omsimos/stackmap@${version}`)) && !changed.includes(path)) changed.push(path);
console.log(`stackmap ${version}: ${changed.length ? changed.join(', ') : 'already set'}`);
diff --git a/site/app/docs/cli/page.tsx b/site/app/docs/cli/page.tsx
index 1ff62da..5dd2346 100644
--- a/site/app/docs/cli/page.tsx
+++ b/site/app/docs/cli/page.tsx
@@ -16,7 +16,7 @@ export const metadata: Metadata = {
};
const DEMO = '.stackmap/commerce-api/diagram.json';
-const npx = `npx @hyamero/stackmap@${SITE.version}`;
+const npx = `npx @omsimos/stackmap@${SITE.version}`;
function Synopsis({ name }: { name: (typeof CLI_COMMANDS)[number]['name'] }) {
const c = CLI_COMMANDS.find((x) => x.name === name)!;
diff --git a/site/app/docs/page.tsx b/site/app/docs/page.tsx
index 53fb902..55dce03 100644
--- a/site/app/docs/page.tsx
+++ b/site/app/docs/page.tsx
@@ -25,7 +25,7 @@ export const metadata: Metadata = {
const ASK = 'Make an architecture diagram of this repository, backed by evidence from the code.';
// The agent's file pins the schema to the installed CLI, so the example does too.
-const JSON_TEXT = SOURCES.quickStart.replace('{\n', `{\n "$schema": "https://unpkg.com/@hyamero/stackmap@${SITE.version}/dist/stackmap.schema.json",\n`);
+const JSON_TEXT = SOURCES.quickStart.replace('{\n', `{\n "$schema": "https://unpkg.com/@omsimos/stackmap@${SITE.version}/dist/stackmap.schema.json",\n`);
const FILE = '.stackmap/commerce-api/diagram.json';
function Step({ n, id, title, children }: { n: number; id: string; title: string; children: React.ReactNode }) {
diff --git a/site/app/docs/schema/page.tsx b/site/app/docs/schema/page.tsx
index 7dd26d8..258a58f 100644
--- a/site/app/docs/schema/page.tsx
+++ b/site/app/docs/schema/page.tsx
@@ -115,7 +115,7 @@ export default function SchemaPage() {
- Machine-readable: stackmap.schema.json. Set it as{' '}
+ Machine-readable: stackmap.schema.json. Set it as{' '}
$schema for completion in your editor.
diff --git a/site/app/opengraph-image.png b/site/app/opengraph-image.png
index ac20e3f..d775b0d 100644
Binary files a/site/app/opengraph-image.png and b/site/app/opengraph-image.png differ
diff --git a/site/app/twitter-image.png b/site/app/twitter-image.png
index ac20e3f..d775b0d 100644
Binary files a/site/app/twitter-image.png and b/site/app/twitter-image.png differ
diff --git a/site/components/site/links.ts b/site/components/site/links.ts
index ce45a66..f74b03c 100644
--- a/site/components/site/links.ts
+++ b/site/components/site/links.ts
@@ -1,4 +1,4 @@
-const repo = 'https://github.com/hyamero/stackmap';
+const repo = 'https://github.com/omsimos/stackmap';
export const LINKS = {
how: { label: 'How it works', href: '/#how' },
@@ -14,7 +14,7 @@ export const LINKS = {
// The film is the video in the README, hosted by GitHub.
film: { label: 'Launch film', href: `${repo}#readme` },
github: { label: 'GitHub', href: repo },
- npm: { label: 'npm', href: 'https://www.npmjs.com/package/@hyamero/stackmap' },
+ npm: { label: 'npm', href: 'https://www.npmjs.com/package/@omsimos/stackmap' },
contributing: { label: 'Contributing', href: `${repo}/blob/main/CONTRIBUTING.md` },
security: { label: 'Security', href: `${repo}/blob/main/SECURITY.md` },
archify: { label: 'archify', href: 'https://github.com/tt-a1i/archify' },
diff --git a/site/content/examples/repo-architecture.json b/site/content/examples/repo-architecture.json
index 769bad9..b37ffdc 100644
--- a/site/content/examples/repo-architecture.json
+++ b/site/content/examples/repo-architecture.json
@@ -4,7 +4,7 @@
"subtitle": "How an agent-written diagram.json becomes the delivered viewer",
"direction": "DOWN",
"source": {
- "url": "https://github.com/hyamero/stackmap/blob/a2111f0590892de04f16c2d2f11ad877a502d89b"
+ "url": "https://github.com/omsimos/stackmap/blob/a2111f0590892de04f16c2d2f11ad877a502d89b"
},
"groups": [
{
@@ -61,7 +61,7 @@
"type": "service",
"group": "pipeline",
"card": {
- "title": "@hyamero/stackmap",
+ "title": "@omsimos/stackmap",
"subtitle": "CLI: validate/deliver/serve",
"rows": [
{
diff --git a/site/e2e/smoke.spec.ts b/site/e2e/smoke.spec.ts
index a7d4f6a..df1a341 100644
--- a/site/e2e/smoke.spec.ts
+++ b/site/e2e/smoke.spec.ts
@@ -236,7 +236,7 @@ test('the docs copy button confirms', async ({ page, context }) => {
await page.goto('/docs');
await page.getByRole('button', { name: 'Copy the install command' }).click();
await expect(page.getByRole('button', { name: 'Copied' })).toBeVisible();
- expect(await page.evaluate(() => navigator.clipboard.readText())).toBe('npx skills add hyamero/stackmap');
+ expect(await page.evaluate(() => navigator.clipboard.readText())).toBe('npx skills add omsimos/stackmap');
});
test('on a phone the nav menu opens the site links and closes on Escape', async ({ browser }) => {
diff --git a/site/lib/data/data.test.ts b/site/lib/data/data.test.ts
index e4a35d4..66b278a 100644
--- a/site/lib/data/data.test.ts
+++ b/site/lib/data/data.test.ts
@@ -21,8 +21,8 @@ describe('version', () => {
// Built, not written out: a literal pin would be rewritten by every release (see tests/no-pins.test.ts).
const version = '1.2.3';
expect(installCommands(version)).toEqual({
- skill: 'npx skills add hyamero/stackmap',
- cli: `npx @hyamero/stackmap@${version} deliver diagram.json`,
+ skill: 'npx skills add omsimos/stackmap',
+ cli: `npx @omsimos/stackmap@${version} deliver diagram.json`,
});
});
});
diff --git a/site/lib/data/version.ts b/site/lib/data/version.ts
index 99fc821..4451e08 100644
--- a/site/lib/data/version.ts
+++ b/site/lib/data/version.ts
@@ -7,5 +7,5 @@ export function readCliVersion(pkg: URL = CLI_PACKAGE): string {
// The skill command has no version: `skills add` installs from the repo, not from npm.
export function installCommands(version: string) {
- return { skill: 'npx skills add hyamero/stackmap', cli: `npx @hyamero/stackmap@${version} deliver diagram.json` };
+ return { skill: 'npx skills add omsimos/stackmap', cli: `npx @omsimos/stackmap@${version} deliver diagram.json` };
}
diff --git a/site/lib/schema-docs.ts b/site/lib/schema-docs.ts
index 65a59fe..ad41856 100644
--- a/site/lib/schema-docs.ts
+++ b/site/lib/schema-docs.ts
@@ -68,7 +68,7 @@ export const SAMPLES: Record = {
{ file: 'services/api/src/db.ts', line: 8 },
],
},
- source: { file: 'source', place: 'source', value: { url: 'https://github.com/hyamero/stackmap/blob/a2111f0590892de04f16c2d2f11ad877a502d89b' } },
+ source: { file: 'source', place: 'source', value: { url: 'https://github.com/omsimos/stackmap/blob/a2111f0590892de04f16c2d2f11ad877a502d89b' } },
edges: {
file: 'edges',
place: 'array',
@@ -127,5 +127,5 @@ export function diagramOutline(version: string, draft: object): string {
const d = draft as Record;
const keys = ['kind', 'title', 'subtitle', 'direction'].filter((k) => d[k] !== undefined).map((k) => ` "${k}": ${JSON.stringify(d[k])}`);
const arrays = ['groups', 'lanes', 'phases', 'nodes', 'edges', 'views', 'notes'].flatMap((k) => (Array.isArray(d[k]) && d[k].length ? [` "${k}": [ … ${d[k].length} ]`] : []));
- return ['{', [` "$schema": "https://unpkg.com/@hyamero/stackmap@${version}/dist/stackmap.schema.json"`, ...keys, ...arrays].join(',\n'), '}'].join('\n');
+ return ['{', [` "$schema": "https://unpkg.com/@omsimos/stackmap@${version}/dist/stackmap.schema.json"`, ...keys, ...arrays].join(',\n'), '}'].join('\n');
}
diff --git a/site/lib/seo.ts b/site/lib/seo.ts
index 602f662..55c8de2 100644
--- a/site/lib/seo.ts
+++ b/site/lib/seo.ts
@@ -7,7 +7,7 @@ type Env = Record;
export const SITE_NAME = 'stackmap';
export const DESCRIPTION = 'Interactive system diagrams your coding agent writes, as one offline HTML file.';
-export const REPO = 'https://github.com/hyamero/stackmap';
+export const REPO = 'https://github.com/omsimos/stackmap';
// Next merges metadata shallowly: a page that sets openGraph replaces the layout's, and with it the root's
// opengraph-image file, so pages spread this and it names the image (and its alt.txt) again.
diff --git a/site/tests/links.test.ts b/site/tests/links.test.ts
index e59c9a0..e70c509 100644
--- a/site/tests/links.test.ts
+++ b/site/tests/links.test.ts
@@ -10,8 +10,8 @@ describe('site links', () => {
});
it('points the project links at the public repo and npm', () => {
- expect(LINKS.github.href).toBe('https://github.com/hyamero/stackmap');
- expect(LINKS.npm.href).toBe('https://www.npmjs.com/package/@hyamero/stackmap');
- expect(LINKS.contributing.href).toBe('https://github.com/hyamero/stackmap/blob/main/CONTRIBUTING.md');
+ expect(LINKS.github.href).toBe('https://github.com/omsimos/stackmap');
+ expect(LINKS.npm.href).toBe('https://www.npmjs.com/package/@omsimos/stackmap');
+ expect(LINKS.contributing.href).toBe('https://github.com/omsimos/stackmap/blob/main/CONTRIBUTING.md');
});
});
diff --git a/site/tests/no-pins.test.ts b/site/tests/no-pins.test.ts
index 1e38205..feed684 100644
--- a/site/tests/no-pins.test.ts
+++ b/site/tests/no-pins.test.ts
@@ -2,14 +2,14 @@ import { execFileSync } from 'node:child_process';
import { fileURLToPath } from 'node:url';
import { describe, expect, it } from 'vitest';
-// scripts/set-version.mjs rewrites every `@hyamero/stackmap@x.y.z` in tracked files, but the release commit
+// scripts/set-version.mjs rewrites every `@omsimos/stackmap@x.y.z` in tracked files, but the release commit
// never includes site/: a pin here would be edited in the release job's tree and left uncommitted.
describe('no version pins in site/', () => {
- it('has no @hyamero/stackmap@ literal in any tracked or new file', () => {
+ it('has no @omsimos/stackmap@ literal in any tracked or new file', () => {
const repo = fileURLToPath(new URL('../../', import.meta.url));
let hits = '';
try {
- hits = execFileSync('git', ['grep', '-nE', '--untracked', '@hyamero/stackmap@[0-9]', '--', 'site'], { cwd: repo, encoding: 'utf8' });
+ hits = execFileSync('git', ['grep', '-nE', '--untracked', '@omsimos/stackmap@[0-9]', '--', 'site'], { cwd: repo, encoding: 'utf8' });
} catch {
// git grep exits 1 when nothing matches
}
diff --git a/skill/SKILL.md b/skill/SKILL.md
index 74f08a9..655f9f8 100644
--- a/skill/SKILL.md
+++ b/skill/SKILL.md
@@ -17,9 +17,9 @@ You write a typed diagram JSON. `stackmap` validates it, lays it out (you never
Run it as one literal command (each shell call starts fresh, so don't rely on variables set earlier):
```bash
-npx -y @hyamero/stackmap@0.2.0 validate --json
-npx -y @hyamero/stackmap@0.2.0 deliver --open
-npx -y @hyamero/stackmap@0.2.0 serve # optional live preview; see below
+npx -y @omsimos/stackmap@0.2.0 validate --json
+npx -y @omsimos/stackmap@0.2.0 deliver --open
+npx -y @omsimos/stackmap@0.2.0 serve # optional live preview; see below
```
If the environment variable `STACKMAP_BIN` is set, it is the path of a stackmap executable: use `"$STACKMAP_BIN" validate …` (quoted, exactly like that) instead of `npx …`.
diff --git a/skill/examples/checkout.sequence.json b/skill/examples/checkout.sequence.json
index 4b2e00f..9f44065 100644
--- a/skill/examples/checkout.sequence.json
+++ b/skill/examples/checkout.sequence.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://unpkg.com/@hyamero/stackmap@0.2.0/dist/stackmap.schema.json",
+ "$schema": "https://unpkg.com/@omsimos/stackmap@0.2.0/dist/stackmap.schema.json",
"kind": "sequence",
"title": "Checkout request",
"subtitle": "Card payment with a fraud check",
diff --git a/skill/examples/clickstream.dataflow.json b/skill/examples/clickstream.dataflow.json
index ee2e4a2..2ac8cc9 100644
--- a/skill/examples/clickstream.dataflow.json
+++ b/skill/examples/clickstream.dataflow.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://unpkg.com/@hyamero/stackmap@0.2.0/dist/stackmap.schema.json",
+ "$schema": "https://unpkg.com/@omsimos/stackmap@0.2.0/dist/stackmap.schema.json",
"kind": "dataflow",
"title": "Clickstream analytics",
"subtitle": "From SDK events to dashboards",
diff --git a/skill/examples/job.lifecycle.json b/skill/examples/job.lifecycle.json
index 8bb16e3..c38ca14 100644
--- a/skill/examples/job.lifecycle.json
+++ b/skill/examples/job.lifecycle.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://unpkg.com/@hyamero/stackmap@0.2.0/dist/stackmap.schema.json",
+ "$schema": "https://unpkg.com/@omsimos/stackmap@0.2.0/dist/stackmap.schema.json",
"kind": "lifecycle",
"title": "Export job lifecycle",
"subtitle": "States of one export job",
diff --git a/skill/examples/release.workflow.json b/skill/examples/release.workflow.json
index df937bf..2d67753 100644
--- a/skill/examples/release.workflow.json
+++ b/skill/examples/release.workflow.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://unpkg.com/@hyamero/stackmap@0.2.0/dist/stackmap.schema.json",
+ "$schema": "https://unpkg.com/@omsimos/stackmap@0.2.0/dist/stackmap.schema.json",
"kind": "workflow",
"title": "Release delivery",
"subtitle": "From merge to announced release",
diff --git a/skill/examples/web-app.architecture.json b/skill/examples/web-app.architecture.json
index cdcbf92..7ed1264 100644
--- a/skill/examples/web-app.architecture.json
+++ b/skill/examples/web-app.architecture.json
@@ -1,5 +1,5 @@
{
- "$schema": "https://unpkg.com/@hyamero/stackmap@0.2.0/dist/stackmap.schema.json",
+ "$schema": "https://unpkg.com/@omsimos/stackmap@0.2.0/dist/stackmap.schema.json",
"kind": "architecture",
"title": "Bookshop",
"subtitle": "Web storefront and order pipeline",
diff --git a/skill/references/schema.md b/skill/references/schema.md
index 3faad8c..25843f8 100644
--- a/skill/references/schema.md
+++ b/skill/references/schema.md
@@ -7,7 +7,7 @@ Agent-authored diagram. Layout is computed by stackmap; never give coordinates.
| Field | Type | Required | Notes |
|---|---|---|---|
-| `$schema` | string | no | Optional; set it to `https://unpkg.com/@hyamero/stackmap@0.2.0/dist/stackmap.schema.json` for editor completion |
+| `$schema` | string | no | Optional; set it to `https://unpkg.com/@omsimos/stackmap@0.2.0/dist/stackmap.schema.json` for editor completion |
| `kind` | enum | yes | one of `architecture`, `dataflow`, `workflow`, `lifecycle`, `sequence` |
| `density` | enum | no | Architecture and dataflow: compact cards (title, subtitle, brand, tag) for long chains or summaries. one of `compact` |
| `title` | string | yes | non-blank |
diff --git a/skill/references/stackmap.schema.json b/skill/references/stackmap.schema.json
index 1c2b733..06f3c79 100644
--- a/skill/references/stackmap.schema.json
+++ b/skill/references/stackmap.schema.json
@@ -3,7 +3,7 @@
"type": "object",
"properties": {
"$schema": {
- "description": "Optional; set it to `https://unpkg.com/@hyamero/stackmap@0.2.0/dist/stackmap.schema.json` for editor completion.",
+ "description": "Optional; set it to `https://unpkg.com/@omsimos/stackmap@0.2.0/dist/stackmap.schema.json` for editor completion.",
"type": "string"
},
"kind": {
@@ -510,5 +510,5 @@
"additionalProperties": false,
"title": "stackmap diagram",
"description": "Agent-authored diagram. Layout is computed by stackmap; never give coordinates.",
- "$id": "https://unpkg.com/@hyamero/stackmap@0.2.0/dist/stackmap.schema.json"
+ "$id": "https://unpkg.com/@omsimos/stackmap@0.2.0/dist/stackmap.schema.json"
}