--- name: polish-repo description: Polish an open-source repository with branding, community files, README overhaul, OG card, usage skill, PR checks, and publishing setup. Designed as a reusable template for Continue repos. metadata: author: continuedev version: "1.0.0" --- # Polish Repository You are polishing an open-source repository to production quality. Follow each step in order, adapting to the project's language, ecosystem, and existing state. ## Step 1: Gather context Before making any changes, understand what you're working with: 1. **Read the package manifest** — `package.json`, `go.mod`, `Cargo.toml`, `pyproject.toml`, etc. Note the project name, description, license field, and any existing scripts. 2. **Check for CI workflows** — look in `.github/workflows/` for existing build, test, and release pipelines. 3. **Check for branding assets** — look for banner images, logos, or OG cards in `.github/assets/`, `public/`, or the repo root. If none exist, download the shared Continue banner from `https://raw.githubusercontent.com/continuedev/continue/main/media/github-readme.png` and save it as `.github/assets/continue-banner.png`. 4. **Determine ecosystem** — npm/Node.js, Go, Rust, Python, etc. This affects publishing setup and contributing instructions. 5. **Read the existing README** — understand what documentation already exists so you preserve and improve it rather than losing content. 6. **Check for existing community files** — `LICENSE`, `CONTRIBUTING.md`, `SECURITY.md`, issue templates, PR templates. ## Step 2: README overhaul Restructure the README with this template: ```markdown
{one-line description}
--- ## Why? [Before/after comparison or 2-3 sentences explaining the problem this solves] ## Table of Contents [Links to all sections] ## Quick start [Existing quick start content — preserve and improve] [... all existing documentation sections ...] ## Contributing [Link to CONTRIBUTING.md] ## License [Link to LICENSE with copyright line] ---Built by Continue
``` Key principles: - **No shields.io badges** — keep the header clean - **Preserve all existing content** — don't lose documentation, just restructure - **Add a "Why?" section** — show the before/after or explain the value proposition concisely - **Add TOC** — for any README with more than 5 sections - **Add Contributing + License sections** at the bottom ## Step 3: Community files Create these files in `.github/` (skip any that already exist and are adequate): ### LICENSE (repo root) All Continue repos use the **Apache-2.0** license. Create `LICENSE` at the repo root with the full Apache License 2.0 text and this copyright notice at the end: ``` Copyright (c) 2025 Continue Dev, Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 ``` Also ensure the `license` field in the package manifest (`package.json`, `Cargo.toml`, etc.) is set to `Apache-2.0`. ### CONTRIBUTING.md Include: - Dev setup instructions (clone, install, build, test) - Project structure overview - Conventional Commits convention (`feat:`, `fix:`, `docs:`, etc.) - PR process - Link to bug report template ### SECURITY.md Include: - Report to **security@continue.dev** - 48-hour acknowledgment SLA - Scope section specific to the project's attack surface (e.g., SSRF for fetch-based tools, injection for template engines) - Out-of-scope items (upstream dependencies, requires existing access) ### Issue templates (`.github/ISSUE_TEMPLATE/`) **`bug_report.yml`** — YAML form with: - Version input - Environment/framework version input - Relevant dropdown (project-specific — e.g., detection method for next-geo, platform for CLI tools) - Description textarea - Repro steps textarea - Logs textarea (with `render: shell`) **`feature_request.yml`** — YAML form with: - Problem textarea - Proposed solution textarea - Alternatives considered textarea **`config.yml`** — Disable blank issues: ```yaml blank_issues_enabled: false ``` ### PULL_REQUEST_TEMPLATE.md ```markdown ## Description ## Type of change - [ ] Bug fix - [ ] New feature - [ ] Documentation - [ ] Refactor - [ ] Other (describe below) ## Checklist - [ ] Tests added/updated - [ ] Types are correct - [ ] Commit messages follow Conventional Commits - [ ] README updated (if applicable) ``` ### release.yml Categorize GitHub release notes: ```yaml changelog: categories: - title: New Features labels: - enhancement - title: Bug Fixes labels: - bug - title: Documentation labels: - documentation - title: Other labels: - "*" ``` ### What to skip - **FUNDING.yml** — Continue is VC-backed, not seeking sponsorships - **CODE_OF_CONDUCT.md** — Only add if the project has an active community with multiple external contributors ## Step 4: OG card Create `.github/assets/og-card.html` — a self-contained 1280x640 HTML file that can be screenshotted for the GitHub social preview. Copy the watercolor background image from another Continue repo's `.github/assets/og-bg.png` (e.g., `next-geo`) into `.github/assets/` to use as the ambient background. **Design — dark theme with watercolor background and Continue logo:** - **Background:** Dark navy (`#1a1a2e`) as the base color - **Watercolor image:** Full-bleed `og-bg.png` behind everything via `background: url('./og-bg.png') center/cover no-repeat` - **Gradient overlay:** Left-to-right gradient darkening the left side for text readability: `rgba(10, 10, 30, 0.7)` on the left fading to `rgba(10, 10, 30, 0.15)` on the right - **Typography:** IBM Plex Sans (light 300 weight for the title, regular 400 for tagline) + IBM Plex Mono (400 for labels and the install command). Load from Google Fonts. - **Title:** Large (~80px), light weight, tight tracking (-2px), color `rgba(255, 255, 255, 0.95)` - **Tagline:** Below the title, ~24px, `rgba(255, 255, 255, 0.6)` - **Label:** Small monospace "CONTINUE" label above the title, uppercase, wide tracking (0.2em), `rgba(255, 255, 255, 0.5)` - **Install pill:** Monospace install command (e.g., `npm install {package}`) in a pill with `rgba(255, 255, 255, 0.08)` background and `rgba(255, 255, 255, 0.15)` border - **Continue logo:** Large (~520px) Continue SVG icon on the right side, vertically centered, white fill — serves as the primary visual element - **Layout:** Text content on the left (padded 100px), logo on the right - **Overall feel:** Dark, atmospheric, professional — the watercolor background adds visual richness while the gradient keeps text readable Reference implementation: `next-geo/.github/assets/og-card.html` After creating the HTML, also **pre-crop** the background image to exactly 1280x640 so headless rendering doesn't depend on `object-fit`: ```bash sips --resampleWidth 1280 .github/assets/og-bg.png --out /tmp/og-bg-resized.png sips --cropOffset 0 0 -c 640 1280 /tmp/og-bg-resized.png --out .github/assets/og-bg-card.png ``` Reference `og-bg-card.png` in the HTML `