{"id":49567297,"url":"https://github.com/igapyon/miku-readfile-java","last_synced_at":"2026-05-03T12:01:19.195Z","repository":{"id":355381859,"uuid":"1227841681","full_name":"igapyon/miku-readfile-java","owner":"igapyon","description":"miku readfile java","archived":false,"fork":false,"pushed_at":"2026-05-03T10:15:00.000Z","size":142,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"devel","last_synced_at":"2026-05-03T11:38:19.250Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/igapyon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-03T08:36:56.000Z","updated_at":"2026-05-03T10:14:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/igapyon/miku-readfile-java","commit_stats":null,"previous_names":["igapyon/miku-readfile-java"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/igapyon/miku-readfile-java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igapyon%2Fmiku-readfile-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igapyon%2Fmiku-readfile-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igapyon%2Fmiku-readfile-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igapyon%2Fmiku-readfile-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igapyon","download_url":"https://codeload.github.com/igapyon/miku-readfile-java/tar.gz/refs/heads/devel","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igapyon%2Fmiku-readfile-java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32568036,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-03T12:01:18.154Z","updated_at":"2026-05-03T12:01:19.024Z","avatar_url":"https://github.com/igapyon.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# miku-readfile-java\n\n`miku-readfile-java` is the Java CLI runtime version of\n[`miku-readfile`](https://github.com/igapyon/miku-readfile).\n\nIt is maintained as a straight conversion of the Node.js / TypeScript upstream,\nfollowing the design notes under `docs/miku-soft-20-javaapp-design-v20260501.md`\nand `docs/miku-soft-30-straight-conversion-v20260425.md`.\n\n## Usage\n\nBuild and test:\n\n```bash\nmvn test\nmvn package\n```\n\nRun the CLI:\n\n```bash\njava -jar target/miku-readfile.jar \u003c request.json \u003e result.json\n```\n\nMeta commands:\n\n```bash\njava -jar target/miku-readfile.jar --version\njava -jar target/miku-readfile.jar --help\n```\n\nMinimal `request.json`:\n\n```json\n{\n  \"version\": 1,\n  \"root\": \".\",\n  \"files\": [\"README.md\"]\n}\n```\n\nRange read example:\n\n```json\n{\n  \"version\": 1,\n  \"root\": \".\",\n  \"files\": [\n    {\n      \"path\": \"src/main/java/jp/igapyon/mikureadfile/core/MikuReadfile.java\",\n      \"range\": {\n        \"startLine\": 1,\n        \"lineCount\": 40\n      }\n    }\n  ]\n}\n```\n\nEncoding rule example:\n\n```json\n{\n  \"version\": 1,\n  \"root\": \".\",\n  \"files\": [\n    \"README.md\",\n    {\n      \"path\": \"docs/legacy-memo.txt\",\n      \"encoding\": \"shift_jis\"\n    }\n  ],\n  \"encoding\": {\n    \"default\": \"utf-8\",\n    \"extensions\": {\n      \".java\": \"shift_jis\"\n    }\n  }\n}\n```\n\nFiles must be root-relative paths using `/`. Absolute paths and `..` path\nsegments are validation errors. Directories, symlinks, binary files, decode\nerrors, and oversized files are skipped with diagnostics.\n\n## Upstream\n\n- Upstream Node.js / TypeScript project:\n  `https://github.com/igapyon/miku-readfile`\n- Local upstream checkout for development:\n  `workplace/upstream/miku-readfile`\n\n`workplace/` is local scratch space and is not tracked by Git.\n\n## Runtime Artifacts\n\n`mvn package` creates:\n\n- `target/miku-readfile.jar`\n- `target/miku-readfile-sources.jar`\n- `target/miku-readfile-0.5.0-dist.zip`\n\nGitHub Release publishing is handled by\n`.github/workflows/release-cli-runtime.yml`. Release tags must start with `v`.\nFor example, tag `v0.5.0` publishes assets using version `0.5.0`; a dot-suffix\ntag such as `v0.5.0.1` is also accepted for rebuilding assets from the same\n`pom.xml` version.\n\nRelease assets:\n\n- `miku-readfile-\u003cversion\u003e.jar`\n- `miku-readfile-sources-\u003cversion\u003e.jar`\n\n## Development Documents\n\n- `docs/miku-readfile-cli-spec.md`\n- `docs/cli-json-parity.md`\n- `docs/parity-golden/`\n- `docs/upstream-doc-sync.md`\n- `docs/upstream-class-mapping.md`\n- `docs/upstream-test-mapping.md`\n- `docs/upstream-followup-log.md`\n- `docs/remaining-migration-items.md`\n\n## Verification\n\nFocused checks:\n\n```bash\nmvn test\nmvn clean package\nnode scripts/smoke-jar.mjs\nnode scripts/parity-check.mjs\n```\n\n`node scripts/parity-check.mjs` compares the Java CLI against the upstream Node\nCLI and checked-in normalized golden files under `docs/parity-golden/`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figapyon%2Fmiku-readfile-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figapyon%2Fmiku-readfile-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figapyon%2Fmiku-readfile-java/lists"}