Skip to content

chore: quick wins — CI, npm config, badges, security fixes#8

Open
sharonds wants to merge 1 commit intomainfrom
feature/quick-wins
Open

chore: quick wins — CI, npm config, badges, security fixes#8
sharonds wants to merge 1 commit intomainfrom
feature/quick-wins

Conversation

@sharonds
Copy link
Copy Markdown
Owner

Summary

  • GitHub Actions CI — runs CLI tests (160), dashboard tests (20), dashboard build, and CLI binary build on every PR and push to main
  • npm publish config — description, engines (bun>=1.0.0), keywords, repository, author, license fields
  • README badges — CI status, npm version, GitHub stars, plus updated skills config and tech stack table
  • 2 CodeQL security fixes — iterative HTML tag stripping in copyscape.ts, backslash escaping in regenerate-panel.tsx
  • GitHub repo metadata — updated description (was outdated "plagiarism checker"), added 10 topics for discoverability
  • Documentation updates — added Contexts page to features.md, fixed custom-skills.md, updated CONTRIBUTING.md ideas

Test plan

  • 160 CLI tests passing
  • 20 dashboard tests passing
  • Code review via subagent — 3 issues found and fixed
  • CodeQL fixes verified against alert descriptions

🤖 Generated with Claude Code

…docs update

- Add GitHub Actions CI workflow (test + build on every PR)
- Add npm publish metadata (engines, keywords, repository, author)
- Add CI, npm, and GitHub stars badges to README
- Fix CodeQL alert: iterative HTML tag stripping in copyscape.ts
- Fix CodeQL alert: escape backslashes in regenerate-panel.tsx
- Update GitHub repo description and topics
- Add missing Contexts page to features.md dashboard table
- Fix misleading getTextBlock() docs in custom-skills.md
- Update CONTRIBUTING.md contribution ideas (remove shipped items)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 15, 2026 15:12
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 696793d25e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread package.json
Comment on lines +12 to +16
"files": [
"src/",
"build.sh",
"README.md",
"LICENSE",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Include dashboard files in published package

The new files whitelist excludes dashboard/, so npm installs no longer contain the web UI assets even though article-checker --ui is documented and the CLI explicitly expects ../dashboard at runtime (src/index.tsx exits when it is missing). This is a functional regression for all npm users: --ui now fails immediately after install. Please add the dashboard directory (and required files) to the published package, or remove the restrictive whitelist.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR focuses on “quick wins” around project metadata and reliability: adding CI, improving npm publishing metadata, updating documentation/README presentation, and addressing two CodeQL-reported security issues.

Changes:

  • Add a GitHub Actions CI workflow to run CLI tests, dashboard tests/build, and build CLI binaries.
  • Expand npm package metadata (description, engines, keywords, repository/bugs/homepage, publish files list).
  • Apply CodeQL fixes (Copyscape snippet HTML tag stripping; escaping in dashboard regenerate command), plus docs/README updates.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/copyscape.ts Adjusts HTML snippet tag stripping logic per CodeQL guidance.
package.json Adds npm publishing metadata, engines, and files allowlist.
docs/features.md Documents the dashboard “Contexts” page.
docs/custom-skills.md Updates guidance for MiniMax “thinking” blocks handling.
dashboard/src/components/regenerate-panel.tsx Escapes backslashes in the displayed --fix command argument.
README.md Adds badges and updates skills/MCP/tooling descriptions.
CONTRIBUTING.md Refreshes contribution ideas list.
.github/workflows/ci.yml Adds CI workflow to test and build on PRs/pushes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread package.json
Comment on lines +12 to +18
"files": [
"src/",
"build.sh",
"README.md",
"LICENSE",
"AGENTS.md"
],
Copy link

Copilot AI Apr 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

files controls what gets published to npm. Excluding dashboard/ means article-checker --ui (which looks for ../dashboard at runtime) will fail for consumers installing from npm. Either include the dashboard (and ensure its dependencies are installable, e.g., via workspaces/postinstall) or update the CLI/README to clearly mark --ui as "source-repo only" and avoid advertising it for npm installs.

Copilot uses AI. Check for mistakes.
Comment on lines +15 to 16
const safeSource = source.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
const command = `article-checker --fix "${safeSource}"`;
Copy link

Copilot AI Apr 15, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This constructs a shell command by wrapping source in double quotes, but only escapes backslashes and ". In many shells, $(), backticks, $VAR, and embedded newlines are still interpreted inside double quotes, so copying/pasting the command can behave unexpectedly (or dangerously if source is attacker-controlled via the stored source label). Consider generating a properly shell-escaped argument (e.g., single-quote style escaping for POSIX shells) and/or showing separate commands for bash vs PowerShell.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants