-
Notifications
You must be signed in to change notification settings - Fork 91
chore: repo setup for Claude workflows and doc cleanup #913
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
1f62d30
6f9feae
4ae716f
5fc9d4c
7caea57
993f94f
d0af0bd
5f23712
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| # Review Guidelines | ||
|
|
||
| Order of concern: correctness, architecture, tests, style. | ||
|
|
||
| - Layer dependencies respect ports and adapters: frontend, backend, and middleware only communicate through the ports in `src/middleware/shared/ports/`. `npm run validate:arch` must pass. | ||
| - DTOs cross layer boundaries, never domain entities. | ||
| - 100%-coverage directories stay at 100%; new behavior comes with tests (Jest for logic, Playwright for user flows). | ||
| - TypeScript Best Practices in CLAUDE.md apply to every diff (no `any`, no `as`, no `!`, no floating promises, boundary validation over casting). | ||
| - Named exports over default exports. | ||
| - No emojis in code, comments, or docs. | ||
| - Docs updated when documented behavior changes (README, CLAUDE.md, docs/). |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| { | ||
| "permissions": { | ||
| "allow": [ | ||
| "Bash(npm run:*)", | ||
| "Bash(npm test:*)", | ||
| "Bash(npx tsx:*)", | ||
| "Bash(npx playwright test:*)", | ||
| "Bash(git status:*)", | ||
| "Bash(git diff:*)", | ||
| "Bash(git log:*)", | ||
| "Bash(git show:*)", | ||
| "Bash(git branch:*)", | ||
| "Bash(gh pr view:*)", | ||
| "Bash(gh pr list:*)", | ||
| "Bash(gh issue view:*)", | ||
| "Bash(gh issue list:*)" | ||
| ] | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| # Contributing | ||
|
|
||
| ## Setup | ||
|
|
||
| Requires Node.js >= 22 < 24. See README.md for the full step by step. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win Use “step-by-step” wording. Change “full step by step” to “full step-by-step guide” for grammatical correctness. 🧰 Tools🪛 LanguageTool[grammar] ~5-~5: Use a hyphen to join words. (QB_NEW_EN_HYPHEN) 🤖 Prompt for AI AgentsSource: Linters/SAST tools |
||
|
|
||
| ```bash | ||
| npm install | ||
| npm run dev # dev server on port 1313 | ||
| ``` | ||
|
|
||
| ## Workflow | ||
|
|
||
| 1. Internal work is tracked in Jira, project DOPE (internal tracker). External contributors: open a GitHub issue using the provided templates. | ||
| 2. Branch from `development`, named `<type>/DOPE-<n>-<kebab-slug>` (`<type>`: feature, bugfix, task, improvement). Maintenance without a ticket uses `chore/`, `ci/`, `docs/`. External contributors without Jira access: use the GitHub issue number instead (`<type>/gh-<n>-<kebab-slug>`); a maintainer files the DOPE ticket when needed. | ||
| 3. Commit style: Conventional Commits, concise, focused on why. | ||
| 4. Open a PR targeting `development` and fill in the PR template. | ||
|
|
||
| ## Before pushing | ||
|
|
||
| ```bash | ||
| npm run test # unit tests (Jest, with coverage) | ||
| npm run test:e2e # end-to-end (Playwright, requires a build) | ||
| npm run validate:arch # architecture layer dependencies | ||
| ``` | ||
|
|
||
| Lint and format run on commit via Husky. | ||
|
|
||
| ## Docs | ||
|
|
||
| If your change alters documented behavior (commands, endpoints, env vars, architecture, setup steps), update the affected docs (README, CLAUDE.md, docs/) in the same PR. | ||
|
|
||
| ## Review | ||
|
|
||
| PRs are reviewed against `.claude/review-guidelines.md`. | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: Autonomy-Logic/openplc-editor
Length of output: 386
🏁 Script executed:
Repository: Autonomy-Logic/openplc-editor
Length of output: 2697
Narrow
Bash(npm run:*)to explicit scripts.package.jsonincludes mutating and external-effect scripts likebuild,package,postinstall,prepare, andrebuild, so this rule allows arbitrary repo scripts now and in the future. Allow only the specific validation commands the workflow needs.🤖 Prompt for AI Agents