Skip to content

feat(chmod): add Linux file permissions calculator tool (closes #82) - #93

Open
ajithakdev wants to merge 3 commits into
mainfrom
feat/chmod-permissions-calculator
Open

ajithakdev wants to merge 3 commits into
mainfrom
feat/chmod-permissions-calculator

Conversation

@ajithakdev

@ajithakdev ajithakdev commented Sep 7, 2026 •

Copy link
Copy Markdown
Owner

Summary

Implements the Linux chmod Permissions Calculator tool requested in #82.

Features

  • Interactive Matrix: Checkboxes for User (Owner), Group, and Other across Read (4), Write (2), Execute (1).
  • Special Bits Support: Toggle SUID (4000), SGID (2000), and Sticky Bit (1000) with capital/lowercase symbolic flags (s, S, t, T).
  • Live Output Formats:
    • Octal representation (e.g. 755, 644, 1777)
    • Symbolic notation (e.g. rwxr-xr-x, rwxrwxrwt)
    • Full shell command (e.g. chmod 755 filename.sh) with customizable file name
    • Symbolic command (e.g. chmod u=rwx,g=rx,o=rx filename.sh)
    • ls -la style output preview
  • Quick Security Presets: One-click application of common permission configs (SSH key 600, Standard file 644, Executable 755, Sticky temp 1777, Full 777, etc.).
  • Reverse Lookup: Type any 3- or 4-digit octal value into the input to instantly populate the visual matrix.
  • URL Synchronization: Share exact permission configurations via URL parameter (?v=755).
  • Zero External Dependencies: Pure bitwise math and client-side React.

Testing

  • 17 new unit & component tests:
    • 12 unit tests in chmod.test.ts verifying all octal math, symbolic logic, special bits, presets, and error edge cases.
    • 5 component tests in chmodTool.test.tsx covering interactive checkbox changes, preset buttons, reverse text input, and reset.
  • npm run lint passes with 0 warnings / 0 errors.
  • npm run build compiles cleanly in ~700ms.

Closes #82


Devin Review

- Interactive permission matrix with checkboxes for User, Group, Other
- Read (4), Write (2), Execute (1) weights
- Special bits: SUID (4000), SGID (2000), Sticky Bit (1000)
- Live outputs: numeric octal, symbolic notation, chmod command, ls -la preview
- Common security presets (644, 755, 600, 700, 777, 1777, 4755, 2775)
- Reverse lookup (input octal to update matrix)
- Full unit and component test coverage (17 tests)
@netlify

netlify Bot commented Sep 7, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for toolglass-by-ajithakdev ready!

Name Link
🔨 Latest commit 13f79bb
🔍 Latest deploy log https://app.netlify.com/projects/toolglass-by-ajithakdev/deploys/6a9f089d300aa000081f56aa
😎 Deploy Preview https://deploy-preview-93--toolglass-by-ajithakdev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Devin Review found 4 potential issues.

2 flags not posted on this PR by your GitHub settings — view them in Devin Review. (Configure)

Devin Review

Comment thread src/tools/chmod/chmod.ts Outdated
Comment thread src/tools/chmod/ChmodTool.tsx Outdated
Comment thread src/tools/chmod/ChmodTool.tsx Outdated
Comment thread src/tools/chmod/ChmodTool.tsx Outdated
Comment thread src/tools/chmod/ChmodTool.tsx
Comment thread src/tools/chmod/chmodTool.test.tsx

This branch has not been deployed

No deployments
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.

feat: Linux chmod Permissions Calculator — interactive visual matrix

1 participant