Skip to content

Conversation

@panchi64
Copy link
Member

@panchi64 panchi64 commented Jul 5, 2025

This PR contains #feat/linting-rules included. It focuses on adding base level logic to the overall repository to ensure consistency when deploying and building the codebase in the future.

The changes included in this PR are:

  1. Linting Rules to the overall project. These rules are consistent across the landing page and daemon os. Ensuring uniformity and ease to switch between the two.
  2. Zed settings to make the editor do all the hard work for linting and ensure everything remains consistent (applied on save). IntelliJ settings may be added in a future PR if I ever make a jump to using it for debugging the project or something like that.
  3. A github workflow file that ensures branch protections by taking a look at the branches being merged whenever a pull request is made. If the merge does not follow the main -> testnet -> mainnet flow it is automatically labeled, closed and flagged for attention. The user that makes the PR will receive a message within the closed PR mentioning that the PR broke branch protection rules and to follow the overall deployment flow appropriately.

@panchi64 panchi64 self-assigned this Jul 5, 2025
@panchi64 panchi64 added the enhancement New feature or request label Jul 5, 2025
@panchi64 panchi64 requested a review from Copilot July 5, 2025 17:32
Copy link

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 introduces a standardized linting and formatting setup across the repository and enforces a strict branch merge flow via a GitHub Actions workflow.

  • Adds ESLint, Prettier, and related scripts to package.json
  • Introduces a centralized eslint.config.js and editor settings for automatic formatting
  • Implements a GitHub workflow to auto-label, comment on, and close PRs that violate the maintestnetmainnet merge sequence

Reviewed Changes

Copilot reviewed 6 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
package.json Added lint/format scripts and moved TypeScript to deps
eslint.config.js New ESLint configuration with SolidJS and TypeScript rules
.zed/settings.json Editor settings for on-save Prettier + ESLint fixes
.prettierrc.json Base Prettier configuration
.prettierignore Files/directories to exclude from Prettier formatting
.github/workflows/merge_protection.yml Workflow enforcing branch protection rules
Comments suppressed due to low confidence (4)

.github/workflows/merge_protection.yml:25

  • Multi-line output into $GITHUB_OUTPUT must use the GitHub Actions multiline syntax (e.g., echo "message<<EOF" >> $GITHUB_OUTPUT followed by the body and EOF). Otherwise, newlines can break output parsing.
            echo "message=❌ **Branch Protection Violation**

.github/workflows/merge_protection.yml:1

  • There are no automated tests for the branch protection workflow logic. Consider adding CI validation (e.g., using act or Actions tests) to simulate PR events and ensure the checks behave as expected.
name: Branch Protection Enforcement

package.json:38

  • TypeScript is typically a dev dependency. Consider moving it from dependencies back into devDependencies to avoid shipping it in production bundles.
    "typescript": "^5.8.3",

eslint.config.js:45

  • The @typescript-eslint/interface-name-prefix and @typescript-eslint/prefer-interface rules have been removed in recent versions of the plugin and will cause ESLint to error. You should delete these entries or replace them with equivalent naming-convention settings.
      "@typescript-eslint/interface-name-prefix": "off",

@panchi64 panchi64 merged commit ef08f89 into dev Jul 5, 2025
1 check passed
@panchi64 panchi64 deleted the feat/branch-merging-protection branch July 5, 2025 19:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants