From 36d7147e9da8b9111f85be6652881f2957b83b52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20James=20G=2E=20Ermita=C3=B1o?= Date: Fri, 31 Jul 2026 12:56:52 +0200 Subject: [PATCH 01/11] chore: drop the .remember/ ignore rules now the tree is gone --- .gitignore | 4 +--- .vscodeignore | 1 - 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 5328410..bd514fe 100644 --- a/.gitignore +++ b/.gitignore @@ -25,9 +25,7 @@ Thumbs.db # directories of the same name, which would silently swallow fixtures on a fresh clone. /docs/ /qa/ -# Agent session state. Self-ignored by .remember/.gitignore too; named here so the tree stays -# ignored even if that file is ever lost. -.remember/ +# Agent session state. .claude/ # Local media — masters and cards that never enter the tree diff --git a/.vscodeignore b/.vscodeignore index ba91f4b..1785fbe 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -35,7 +35,6 @@ SUPPORT.md # Self-ignored from git, so they never appear in `git status` — but vsce packages # from disk, not from git, and would otherwise ship them. Must stay named here. .claude/** -.remember/** docs/** # Demo media — the README loads these from GitHub, so the package stays lean. From c393a369de7ab47246430162dedc7658805f1c74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20James=20G=2E=20Ermita=C3=B1o?= Date: Fri, 31 Jul 2026 12:56:52 +0200 Subject: [PATCH 02/11] docs(readme): add the Open VSX and Sponsors badges and Open VSX links --- README.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 04abe4d..69952e1 100644 --- a/README.md +++ b/README.md @@ -4,15 +4,20 @@ [![installs][installs-badge]][package] [![downloads][downloads-badge]][package] [![rating][rating-badge]][package] -[![license][license-badge]][repo] +[![open vsx][ovsx-badge]][open-vsx] [![vscode][vscode-badge]][package] +[![license][license-badge]][repo] + +[![sponsor][sponsor-badge]][sponsors] [version-badge]: https://vsmarketplacebadges.dev/version-short/ElecTreeFrying.insert-random-text.png [installs-badge]: https://vsmarketplacebadges.dev/installs-short/ElecTreeFrying.insert-random-text.png [downloads-badge]: https://vsmarketplacebadges.dev/downloads-short/ElecTreeFrying.insert-random-text.png [rating-badge]: https://vsmarketplacebadges.dev/rating-short/ElecTreeFrying.insert-random-text.png -[license-badge]: https://img.shields.io/github/license/ElecTreeFrying/insert-random-text +[ovsx-badge]: https://img.shields.io/open-vsx/v/ElecTreeFrying/insert-random-text [vscode-badge]: https://img.shields.io/badge/vscode-%3E%3D1.97.0-blue +[license-badge]: https://img.shields.io/github/license/ElecTreeFrying/insert-random-text +[sponsor-badge]: https://img.shields.io/badge/GitHub_Sponsors-ea4aaa?logo=githubsponsors&logoColor=white [package]: https://marketplace.visualstudio.com/items?itemName=ElecTreeFrying.insert-random-text [repo]: https://github.com/ElecTreeFrying/insert-random-text @@ -313,6 +318,7 @@ This extension ships **no default keyboard shortcuts** — with 130+ commands, p - **Marketplace:** Extensions view (Cmd/Ctrl+Shift+X) → search **Random, Fake & Mock Data Generator** by *WinterNova5* → **Install**. - **CLI:** `code --install-extension ElecTreeFrying.insert-random-text` - **Direct:** [VS Code Marketplace listing][package] +- **Direct (Open VSX):** [Open VSX listing][open-vsx] - **Cursor / Windsurf / VSCodium / Gitpod:** Search **Random, Fake & Mock Data Generator** in the Extensions panel — served via [Open VSX][open-vsx]. [open-vsx]: https://open-vsx.org/extension/ElecTreeFrying/insert-random-text @@ -322,7 +328,7 @@ This extension ships **no default keyboard shortcuts** — with 130+ commands, p ## Compatibility - **VS Code:** 1.97.0 or later. -- **Registries:** Available on both the [VS Code Marketplace][package] and [Open VSX][open-vsx]. +- **Registries:** Available on both the [VS Code Marketplace][package] and [Open VSX][open-vsx] — published by **WinterNova5**, a verified Open VSX publisher. - **Compatible hosts:** Cursor, Windsurf, VSCodium, Gitpod, Code Server, and other forks that implement the VS Code API at the same engine version — installable directly from their Extensions panel via Open VSX. - **Web:** Runs on [vscode.dev](https://vscode.dev) and [github.dev](https://github.dev) — a browser build ships in the extension. - **Platforms:** macOS, Windows, Linux. @@ -405,9 +411,10 @@ See [SPEC.md][SPEC] for the full behavior contract — behavior changes belong t ## Related -- **[All extensions by WinterNova5][all]** on the VS Code Marketplace. +- **[All extensions by WinterNova5][all]** on the VS Code Marketplace — and on [Open VSX][all-ovsx]. [all]: https://marketplace.visualstudio.com/publishers/ElecTreeFrying +[all-ovsx]: https://open-vsx.org/namespace/ElecTreeFrying --- From 6a8321c666af69c403f0509055347eeed93e2cce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20James=20G=2E=20Ermita=C3=B1o?= Date: Fri, 31 Jul 2026 12:56:52 +0200 Subject: [PATCH 03/11] docs: add a code of conduct, contributing guide, and security policy --- .github/CODE_OF_CONDUCT.md | 130 +++++++++++++++++++++++++++++++++++++ .github/CONTRIBUTING.md | 99 ++++++++++++++++++++++++++++ .github/SECURITY.md | 69 ++++++++++++++++++++ 3 files changed, 298 insertions(+) create mode 100644 .github/CODE_OF_CONDUCT.md create mode 100644 .github/CONTRIBUTING.md create mode 100644 .github/SECURITY.md diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..8a8686f --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,130 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official email address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +**electreefrying.git@gmail.com**. + +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][mozilla]. + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. + +[homepage]: https://www.contributor-covenant.org +[mozilla]: https://github.com/mozilla/diversity diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..8ef419f --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,99 @@ +# Contributing + +Thanks for wanting to help. Bug reports, feature requests, and pull requests are all +welcome — **new data generators especially.** Breadth is the whole value of this +extension, and a new generator is one of the easiest first contributions here. + +## Before you start + +- **Open an issue first** for anything structural. A new generator usually does not + need one; a new *setting* or a change to how insertion works does. +- Read [`SPEC.md`](../SPEC.md). It is the user-facing contract — every command, every + setting, every catalog row. If your change alters behavior, **it lands there too**. + +## Setup + +```bash +npm install +``` + +Press F5 → **Run Extension** to launch an Extension Development Host. + +## The commands that matter + +```bash +npm run compile # check-types + lint + esbuild (node AND web) ← "green" +npm run watch # incremental dev build +npm run lint # eslint src +npm run package # production build; what vscode:prepublish runs + +# Headless — the vscode-free areas, no Extension Host needed +npm run compile-tests && npx mocha "out/test/{quote,config,catalog,engine,format,record,prompted,custom,randomize}/*.test.js" + +# Full suite — required for commands/ and extension.test.ts +npm test +``` + +Do not widen that mocha glob to `**`: `extension.test.ts` and `commands/` import +`vscode` and fail under plain node. And if headless results look stale after renaming +or deleting a test, `rm -rf out` — orphaned compiled tests linger there. + +## Adding a generator — the common case + +1. **`src/catalog.ts`** — add a `{ id, label, group, generate }` entry. It shows up in + the Quick Pick automatically. +2. **`package.json`** → `contributes.commands` — add + `{ "command": "insertRandomText.", "title": "Insert Random: