← ShipFrameCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to ShipFrame
Snapshot Sep 30, 2026 · 23:14 UTC · version 0.4.2
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Generate or refresh a team-ready README by scanning stack, purpose, commands, and project conventions.",
"included_files": [],
"name": "generate-readme",
"skill_md_contents": "---\nname: generate-readme\ndescription: Generate or refresh a team-ready README by scanning stack, purpose, commands, and project conventions.\nallowed-tools: AskUserQuestion Glob Read Grep Write\neffort: medium\n---\n\n# generate-readme\n\nGenerate a `README.md` file following the ShipFrame team-ready standard. Scan the project to auto-detect as much as possible, then ask only what cannot be inferred.\n\n---\n\n## Step 1 — Gather project context\n\nScan the project root to detect the tech stack and structure. Use Glob and Read tools — do not guess.\n\n**Detect:**\n\n- **Language & runtime:** `package.json`, `composer.json`, `requirements.txt`, `go.mod`, `Cargo.toml`, `pubspec.yaml`\n- **Framework:** check dependencies in `package.json` for `next`, `react`, `vue`, `nuxt`, `express`, `fastify`, `laravel` (via `composer.json`), etc.\n- **Database:** look for `prisma`, `drizzle-orm`, `typeorm`, `mongoose`, `pg`, `mysql2`, `sqlite3`, `@supabase`, `pgsql` in dependency files or config files\n- **Package manager:** `pnpm-lock.yaml` → pnpm, `yarn.lock` → Yarn, `bun.lockb` → Bun, `package-lock.json` → npm\n- **Build tools:** `vite.config.*`, `webpack.config.*`, `turbo.json`\n- **Container/infra:** `Dockerfile`, `docker-compose.*`\n- **CI/CD:** `.github/workflows/`\n- **Dev commands:** read `package.json` scripts section, `Makefile`, or `composer.json` scripts\n\nRead these files if they exist:\n- `package.json`\n- `composer.json`\n- `README.md` (first 50 lines — to avoid overwriting intentional content)\n- `.env.example` (keys only, never values)\n\n---\n\n## Step 2 — Ask the user for missing information\n\nAfter scanning, ask only for information that could not be inferred from the codebase. Use `AskUserQuestion` with a single call covering all needed fields at once (1–4 questions max).\n\nAlways ask:\n1. **Project name + repository clone URL** — if not clear from `package.json`, `composer.json`, or folder name\n2. **Short project description** — one sentence explaining what the project does\n3. **Credentials/config location** — where developers get environment variable values (e.g. Passbolt, 1Password, a shared drive link — never hardcode actual values)\n4. **Contact info** — Project Manager name + email, Tech Lead name + email\n\nOnly ask for stack details if they genuinely could not be detected.\n\n---\n\n## Step 3 — Generate README.md\n\nIf `README.md` already exists and contains non-placeholder content, ask for confirmation before overwriting and preserve any clearly intentional hand-written sections.\n\nWrite `README.md` at the project root using the template below. Fill every section with real detected values. Use placeholder text only where data is unavailable and mark it with `<!-- TODO: fill in -->`.\nRules:\n- Use the project's actual logo if `public/` or `assets/` contains an `.svg` or image with \"logo\" in the name; otherwise omit the `<img>` tag.\n- List only the stack components actually detected — do not invent extras.\n- Commands table: list only commands that exist in `package.json` scripts, `Makefile`, or `composer.json` scripts. Do not fabricate commands.\n- Keep the tone professional but friendly, matching the example format.\n- Never include sensitive values (passwords, API keys, tokens).\n\n---\n\n### README.md template\n\n````markdown\n<div align=\"center\">\n<img src=\"./public/<logo-file>\" alt=\"icon\">\n<h3>\n <project-name> 🚀 ShipFrame\n</h3>\n\n\n <a href=\"#-stack\">\n Stack\n </a>\n <span> ✦ </span>\n <a href=\"#-getting-started\">\n Getting Started\n </a>\n <span> ✦ </span>\n <a href=\"#-useful-commands\">\n Commands\n </a>\n <span> ✦ </span>\n <a href=\"#-contribution\">\n How to contribute\n </a>\n <span> ✦ </span>\n <a href=\"#-deployment\">\n How to do a deployment\n </a>\n <span> ✦ </span>\n <a href=\"#-contact\">\n Contact\n </a>\n</div>\n\n\n## 🛠️ Stack\n\nTo start working with <project-name> you will need to have some tools previously installed.\n\n#### Prerequisites\n\n- SO: OSX, Linux, Windows with WSL2\n<!-- List only prerequisites that are genuinely required based on detected stack -->\n- [**<Runtime & version>**](<official-url>)\n- [**<Package manager>**](<official-url>)\n- [**<Database>**](<official-url>)\n\n#### Technical Information\n\n<!-- List only what was detected -->\n- [**<Framework & version>**](<official-url>)\n- [**<Key library>**](<official-url>)\n- [**<Container/infra tool>**](<official-url>)\n\n## 🧑💻 Getting Started\n\n1. **Clone** this repository.\n\n```bash\ngit clone git@github.com:<org>/<repo>.git\n```\n\n2. Copy the `.env.example` file to `.env` and set all the necessary environment values.\n\n```bash\ncp .env.example .env\n```\n\nYou can find the credentials in [<credentials-location>](<credentials-url-if-provided>). If you don't have access, please [contact](#-contact) your Project Manager or Tech Lead.\n\n3. Install the dependencies.\n\n<!-- Adapt to the detected package manager and language -->\n```bash\n<install command>\n```\n\n4. <!-- Add any additional required setup steps detected from README or scripts, e.g. key generation, migrations, seed -->\n\n5. Run the development server.\n\n```bash\n<dev command>\n```\n\n## 🖥️ Useful Commands\n\n| | Command | Action |\n| :-- | :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n<!-- List only commands that exist in scripts -->\n| ⚙️ | `<command>` | <what it does> |\n\n> Commands used in this project are from <tooling>. <!-- Add a relevant cheatsheet link if applicable -->\n\n## 🧠 Contribution\n\nThere are some \"rules\" to follow if you want to contribute to this project.\n\n#### Branch Naming\n\nTo start contributing you will need to create a branch from your development branch following these steps:\n\n1. Identify the ticket of your task in [ClickUp](https://app.clickup.com/31625254/home).\n\n2. Once you identify the ticket, note its ID (found in the URL or in the left corner of the modal).\n\n3. Our branch naming convention is based on [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) followed by the ClickUp task ID:\n\n- **fix**: patches a bug (correlates with PATCH in Semantic Versioning).\n- **feat**: introduces a new feature (correlates with MINOR in Semantic Versioning).\n- **hotfix**: patches a bug live in PRODUCTION (promote to production ASAP).\n\nBranch name format: `feat/CU-[ClickUp task ID]-[optional-detail]`\nExamples: `feat/CU-86aydqtf5-Login` or `feat/CU-86aydqtf6`\n\n#### Descriptive Commits\n\nMake commits referencing the ClickUp ID: `feat/CU-[ID] Task title`\n\n#### Create a PR\n\nInclude the following in your Pull Request description:\n\n- **Explanation of Unrelated Changes:** If there are changes unrelated to the ticket, explain why they were included.\n- **Screenshots:** Attach screenshots of screens that changed to facilitate visual review.\n- **Other tickets affected:** If the changes affect other tickets, list them and leave a comment on those tickets with the PR URL.\n\n> **IMPORTANT:** Never add sensitive information to the repository (passwords, API keys, etc.)\n\n> **REMEMBER:** Keep PRs as small and focused as possible.\n\n## 🚀 Deployment\n\n<!-- Describe the CI/CD pipeline detected or ask the user to fill this in -->\nWe use CI/CD for deployments. To deploy, merge an approved PR to the correct branch:\n\n- **`<environment>`** environment → merge PR to `<branch>` branch.\n\n## 📞 Contact\n\nFor support or questions, please contact:\n\nProject Manager: <a href=\"mailto:<pm-email>\"><pm-name></a>\n\nTech Lead: <a href=\"mailto:<tl-email>\"><tl-name></a>\n````\n\n---\n\n## Step 4 — Write the file and confirm\n\nWrite the completed `README.md` to the project root.\n\nThen report:\n- What was auto-detected vs. what the user provided\n- Any sections left with `<!-- TODO: fill in -->` placeholders and why\n- Reminder not to commit sensitive values\n\nDo not continue or suggest further steps after reporting.\n"
}SHA-256 of public snapshot: fcc85d904988f900b3ec0462701f058f3c56bc15eaa9073346f333e1a0aeb42b