Skip to content

refactor(repo): standardize project structure and release setup#1

Merged
NeaByteLab merged 3 commits intomainfrom
refactor/repo-standardize-structure
Mar 25, 2026
Merged

refactor(repo): standardize project structure and release setup#1
NeaByteLab merged 3 commits intomainfrom
refactor/repo-standardize-structure

Conversation

@NeaByteLab
Copy link
Owner

@NeaByteLab NeaByteLab commented Mar 25, 2026

Summary

This PR refactors Jsonary repository structure and release configuration to be more consistent and maintainable.
It standardizes CI and publish workflows, package metadata, and documentation structure while removing obsolete config files.
No runtime feature changes are introduced.

Goals

  • Standardize repository structure and delivery files
  • Simplify package scripts and dependency surface
  • Align CI and publish flow with current Deno-based release setup
  • Improve documentation clarity and consistency

Non-Goals

  • No new user-facing features
  • No query engine behavior changes

Changes

  • Update workflow files for CI and publish flow
  • Refresh root project files (.gitignore, build.config.ts, deno.json, LICENSE, package.json, README.md, USAGE.md)
  • Move deno.json publish config to include mode
  • Remove obsolete config files no longer used
  • Stop tracking package-lock.json in git index

How to Test

  1. deno fmt --check src/
  2. deno lint src/
  3. deno check src/index.ts
  4. Confirm docs and publish metadata are consistent
  5. For release validation, publish.yml already runs deno check src/index.ts before deno publish

Checklist

  • Manual verification completed
  • Docs updated
  • Publish config validated

Align repository structure, workflow automation, publish metadata, and docs to the new refactor baseline while removing obsolete tooling configs.
@NeaByteLab NeaByteLab self-assigned this Mar 25, 2026
@NeaByteLab
Copy link
Owner Author

🔍 Code Review — PR #1

Walkthrough

This PR refactors the repository surface and release setup, including workflows, package metadata, docs, and publish configuration. The direction is coherent for a cleanup-first pass, and the runtime library code stays effectively unchanged. Most changes are config and documentation alignment, with old tooling files removed. I focused review on release safety, CI coverage, and consistency between docs and package metadata.

Changes

Cohort / File(s) Summary
Workflow + Release
.github/workflows/ci.yaml, .github/workflows/publish.yml, deno.json, package.json
Standardize CI/publish flow and simplify package scripts/deps.
Repo Hygiene
.gitignore, removed .prettierrc, .prettierignore, eslint.config.js, tsconfig.json, package-lock.json
Remove obsolete config and streamline tracked project files.
Docs
README.md, USAGE.md, LICENSE
Refresh docs and usage guidance, update licensing year.
Source Touch-Ups
src/index.ts, src/Query.ts
Keep behavior same with minor import/string normalization.

✅ Safe to Merge

No critical security or data-exposure risks found. This is safe to merge.
The findings below are follow-up quality improvements to reduce release drift risk.

Follow-Up Items: 2 | Nitpick Comments: 1


🟡 Follow-Up Recommendations (2)
.github/workflows/ci.yaml (1)

⚠️ Potential issue | 🟠 Major

.github/workflows/ci.yaml:23: CI no longer validates package build output.

The workflow only runs format/lint/check. Since package.json ships dist/* entrypoints, missing a build smoke step can allow publish-time failures to slip through CI.

       - name: Type check
         run: deno check src/index.ts
+
+      - name: Build package
+        run: npm run build
README.md + package.json (1)

💡 Suggestion | 🟡 Minor

README.md:7 and package.json:66: Node version messaging is inconsistent.

README badge says >=22, while engines.node is >=20.0.0. Align one side so users do not get mixed runtime requirements.


🧹 Nitpick Comments (1)

🧹 Nitpick | 🟢 Trivial

.gitignore:20: *.json rule is very broad.

This can silently hide future tracked JSON assets (fixtures/examples/config) unless explicitly force-added. Consider narrowing to local data files only (for example data*.json) if broad ignore is not intentional.


✅ Things Done Well
  • Clear refactor intent and scope, no hidden runtime behavior changes
  • Added USAGE.md, improving discoverability and onboarding
  • Publish config switched to explicit include, which is safer to audit
  • PR description is structured and test steps are easy to follow

📊 Summary
Category 🟠 Major 🟡 Follow-up 🟢 Nitpick Total
Security 0 0 0 0
Convention / Release 1 1 1 3
Runtime Logic 0 0 0 0
Total 1 1 1 3

🤖 Prompt for Follow-Up PR With AI Agents
Verify each finding against the current code and only fix it if needed.

Follow-up items:

In @.github/workflows/ci.yaml:
- Around line 23: Add a package build smoke step (`npm run build`) after type check so CI validates distributable artifacts.

In @README.md and @package.json:
- Around README line 7 and package line 66: Align Node version requirement messaging (`>=20` vs `>=22`) so docs and engines match.

---

Nitpick items:

In @.gitignore:
- Around line 20: Replace broad `*.json` ignore with narrower local-data patterns if you still want to commit JSON fixtures/config samples in future.

Automated Review by NeaSwarm

Update package metadata to require Node.js >=22.0.0 so runtime requirement matches the documented support target.
@NeaByteLab
Copy link
Owner Author

Clarification for CI build smoke finding: this PR targets JSR release flow, and already runs before (see workflow step around lines 21-23). So CI intentionally stays focused on / / for the source.

@NeaByteLab
Copy link
Owner Author

Clarification: this PR targets the JSR release flow. In .github/workflows/publish.yml, the workflow runs right before . So the CI job intentionally focuses on deno fmt/lint/check for the source, while publish.yml already verifies the package entrypoint during the release step.

@NeaByteLab
Copy link
Owner Author

🔍 Code Review — PR #1

Walkthrough

This PR refactors Jsonary’s repository surface to follow a consistent delivery baseline: it updates CI/publish workflows, refreshes root metadata/docs, and simplifies the project config set. The runtime library code is effectively unchanged, with only small import/string normalization. Docs are updated and the Node engine requirement is aligned with the published badge.

Changes

Cohort / File(s) Summary
CI / Publish Flow
, ,
Standardize the Deno-based format/lint/check and JSR publish verification flow.
Repo Hygiene
, removed , removed , removed , removed
Remove obsolete tooling config and streamline tracked repository files.
Docs
, ,
Refresh onboarding content and update license year/details.
Small Source Touch-Ups
,
Keep behavior while normalizing minor code style details.

✅ Safe to Merge

No critical security or data-exposure issues found.
This is safe to merge as-is.

Follow-Up Items: 1 | Nitpick Comments: 1


🟡 Follow-Up Recommendations (1)
.github/workflows/ci.yaml (1)

💡 Suggestion | 🟡 Minor

: Optional dist build smoke for npm consumers.

currently runs , , and only. If you also rely on npm distributable artifacts (since ships entrypoints), consider adding a lightweight build smoke step (or an unbuild smoke) to catch missing bundle artifacts before publish.


🧹 Nitpick Comments (1)

🧹 Nitpick | 🟢 Trivial

: ** ignore is broad.**

This may accidentally ignore future JSON assets you might want to commit. Consider narrowing it to your intended local data names/patterns (or keep it if the intent is to never version JSON files besides explicit ones).


✅ Things Done Well
  • Clear refactor intent and scope (configs + docs + workflow alignment)
  • Publish flow includes a verification step ( runs before publish)
  • Node engine messaging is aligned to via
  • Docs are refreshed and more readable
📊 Summary
Category 🟡 Follow-up 🟢 Nitpick Total
Security 0 0 0
Convention / Release 1 1 2
Runtime Logic 0 0 0
Total 1 1 2
🤖 Prompt for Follow-Up PR With AI Agents

deno check*.json

Automated Review by NeaSwarm

@NeaByteLab
Copy link
Owner Author

🔍 Code Review — PR #1

Walkthrough

This PR refactors Jsonary’s repository surface to follow a consistent delivery baseline: it updates CI/publish workflows, refreshes root metadata/docs, and simplifies the project config set. The runtime library code is effectively unchanged, with only minor import and string normalization. Node engine messaging is aligned to 22 in package.json.

Changes

Cohort / File(s) Summary
Workflow + Release .github/workflows/ci.yaml, .github/workflows/publish.yml, deno.json Standardize Deno-based format/lint/check and JSR publish verification flow.
Repo Hygiene .gitignore, removed .prettier*, removed eslint.config.js, removed tsconfig.json, removed package-lock.json Remove obsolete tooling config and streamline tracked files.
Docs README.md, USAGE.md, LICENSE Refresh onboarding content and update license details.
Small Source Touch-Ups src/index.ts, src/Query.ts Keep behavior while normalizing minor code style.

✅ Safe to Merge

No critical security or data-exposure issues found.

Follow-Up Items: 1 | Nitpick Comments: 1


🟡 Follow-Up Recommendations (1)
.github/workflows/ci.yaml

💡 Suggestion | 🟡 Minor

ci.yaml:23-30: Optional dist build smoke for npm consumers.

ci.yaml currently runs deno fmt, deno lint, and deno check only. Since package.json ships dist entrypoints for npm, consider adding a lightweight unbuild/dist validation step if you want CI to catch missing distributable artifacts.


🧹 Nitpick Comments (1)

🧹 Nitpick | 🟢 Trivial

.gitignore:20: The *.json ignore is broad.

This can accidentally ignore future JSON assets you may want to commit. Consider narrowing it if broad ignore is not intentional.


✅ Things Done Well
  • Clear refactor intent and scope (configs + docs + workflow alignment)
  • publish.yml performs deno check on src/index.ts before deno publish
  • Node engine requirement matches README badge (>=22)
  • Docs refresh improves onboarding
📊 Summary
Category 🟡 Follow-up 🟢 Nitpick Total
Security 0 0 0
Convention / Release 1 1 2
Runtime Logic 0 0 0
Total 1 1 2
🤖 Prompt for Follow-Up PR With AI Agents
Verify each finding against the current code and only fix it if needed.

Follow-up items:

- .github/workflows/ci.yaml: Add a lightweight dist/unbuild smoke step after deno check if npm dist artifacts are required by your release process.

Nitpick items:

- .gitignore: Narrow the broad *.json ignore to intended local data patterns if you plan to version JSON assets in the future.

Automated Review by NeaSwarm

- Remove broad "*.json" ignore so JSON assets can be versioned (keep "data.json" only)
@NeaByteLab
Copy link
Owner Author

🔍 Code Review — PR #1

Walkthrough

This PR refactors Jsonary’s repository surface to follow a consistent delivery baseline: it updates CI/publish workflows, refreshes root metadata/docs, and simplifies the project config set. The runtime library code is effectively unchanged (minor style/normalization only). The Node engine requirement is aligned with the README badge.

Changes

Cohort / File(s) Summary
CI / Publish Flow .github/workflows/ci.yaml, .github/workflows/publish.yml, deno.json Standardize Deno-based checks and JSR publish verification flow
Repo Hygiene .gitignore, removed .prettier*, removed eslint.config.js, removed tsconfig.json, removed package-lock.json Remove obsolete tooling and streamline tracked files
Docs / Metadata README.md, USAGE.md, LICENSE, package.json Refresh docs and align published metadata
Small Source Touch-Ups src/index.ts, src/Query.ts Keep behavior while applying minor normalization

✅ Safe to Merge

No critical security or data-exposure issues found.

Regarding the earlier CI concern: even though ci.yaml does not run an npm dist build step, the release verification path is covered by publish.yml, which runs deno check src/index.ts before deno publish.

Follow-Up Items: 0 | Nitpick Comments: 1


🧹 Nitpick Comments (1)

🧹 Nitpick | 🟢 Trivial

.gitignore:20: *.json ignore was broad.

This can be intentional, but if you ever want to version JSON fixtures/config later, consider narrowing the pattern to the specific local data files you do not want committed.


✅ Things Done Well
  • CI/publish workflows are consistent and clearly scoped to source validation
  • publish.yml provides the release-time verification step before publishing
  • Docs and package metadata are aligned
  • Removal of obsolete config files reduces long-term maintenance drift
📊 Summary
Category 🟡 Follow-up 🟢 Nitpick Total
Security 0 0 0
Convention / Release 0 1 1
Runtime Logic 0 0 0
Total 0 1 1
🤖 Prompt for Follow-Up PR With AI Agents
Verify each finding against the current code and only fix it if needed.

Follow-up items:

(no follow-up items)

Nitpick items:

- .gitignore: Narrow the JSON ignore pattern only if you plan to commit JSON fixtures/config in the future.

Automated Review by NeaSwarm

@NeaByteLab NeaByteLab merged commit 2cfe547 into main Mar 25, 2026
1 check passed
@NeaByteLab NeaByteLab deleted the refactor/repo-standardize-structure branch March 25, 2026 06:35
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.

1 participant