issue-commander 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -0
- package/.next/app-path-routes-manifest.json +18 -0
- package/.next/build/56416d4ae4ce586f.js +6 -0
- package/.next/build/56416d4ae4ce586f.js.map +5 -0
- package/.next/build/chunks/[root-of-the-server]__0oj80bi._.js +206 -0
- package/.next/build/chunks/[root-of-the-server]__0oj80bi._.js.map +8 -0
- package/.next/build/chunks/[root-of-the-server]__1f933tp._.js +500 -0
- package/.next/build/chunks/[root-of-the-server]__1f933tp._.js.map +11 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0b7xl6g._.js +13 -0
- package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0b7xl6g._.js.map +5 -0
- package/.next/build/chunks/[turbopack]_runtime.js +890 -0
- package/.next/build/chunks/[turbopack]_runtime.js.map +11 -0
- package/.next/build/chunks/node_modules__pnpm_0ncq4wh._.js +6671 -0
- package/.next/build/chunks/node_modules__pnpm_0ncq4wh._.js.map +47 -0
- package/.next/build/package.json +1 -0
- package/.next/build-manifest.json +20 -0
- package/.next/diagnostics/build-diagnostics.json +6 -0
- package/.next/diagnostics/framework.json +1 -0
- package/.next/diagnostics/route-bundle-stats.json +29 -0
- package/.next/export-marker.json +6 -0
- package/.next/fallback-build-manifest.json +13 -0
- package/.next/images-manifest.json +68 -0
- package/.next/next-minimal-server.js.nft.json +1 -0
- package/.next/next-server.js.nft.json +1 -0
- package/.next/package.json +1 -0
- package/.next/prerender-manifest.json +114 -0
- package/.next/required-server-files.js +338 -0
- package/.next/required-server-files.json +338 -0
- package/.next/routes-manifest.json +146 -0
- package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_global-error/page/build-manifest.json +16 -0
- package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
- package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_global-error/page.js +10 -0
- package/.next/server/app/_global-error/page.js.map +5 -0
- package/.next/server/app/_global-error/page.js.nft.json +1 -0
- package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_global-error.html +1 -0
- package/.next/server/app/_global-error.meta +15 -0
- package/.next/server/app/_global-error.rsc +15 -0
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
- package/.next/server/app/_global-error.segments/_head.segment.rsc +6 -0
- package/.next/server/app/_global-error.segments/_index.segment.rsc +5 -0
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
- package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
- package/.next/server/app/_not-found/page/build-manifest.json +16 -0
- package/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
- package/.next/server/app/_not-found/page.js +13 -0
- package/.next/server/app/_not-found/page.js.map +5 -0
- package/.next/server/app/_not-found/page.js.nft.json +1 -0
- package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
- package/.next/server/app/_not-found.html +1 -0
- package/.next/server/app/_not-found.meta +16 -0
- package/.next/server/app/_not-found.rsc +18 -0
- package/.next/server/app/_not-found.segments/_full.segment.rsc +18 -0
- package/.next/server/app/_not-found.segments/_head.segment.rsc +6 -0
- package/.next/server/app/_not-found.segments/_index.segment.rsc +7 -0
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +5 -0
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
- package/.next/server/app/api/actions/copy/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/actions/copy/route/build-manifest.json +9 -0
- package/.next/server/app/api/actions/copy/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/actions/copy/route.js +9 -0
- package/.next/server/app/api/actions/copy/route.js.map +5 -0
- package/.next/server/app/api/actions/copy/route.js.nft.json +1 -0
- package/.next/server/app/api/actions/copy/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/actions/move/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/actions/move/route/build-manifest.json +9 -0
- package/.next/server/app/api/actions/move/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/actions/move/route.js +9 -0
- package/.next/server/app/api/actions/move/route.js.map +5 -0
- package/.next/server/app/api/actions/move/route.js.nft.json +1 -0
- package/.next/server/app/api/actions/move/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/actions/set-status/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/actions/set-status/route/build-manifest.json +9 -0
- package/.next/server/app/api/actions/set-status/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/actions/set-status/route.js +9 -0
- package/.next/server/app/api/actions/set-status/route.js.map +5 -0
- package/.next/server/app/api/actions/set-status/route.js.nft.json +1 -0
- package/.next/server/app/api/actions/set-status/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/img/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/img/route/build-manifest.json +9 -0
- package/.next/server/app/api/img/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/img/route.js +6 -0
- package/.next/server/app/api/img/route.js.map +5 -0
- package/.next/server/app/api/img/route.js.nft.json +1 -0
- package/.next/server/app/api/img/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/issue-types/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/issue-types/route/build-manifest.json +9 -0
- package/.next/server/app/api/issue-types/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/issue-types/route.js +8 -0
- package/.next/server/app/api/issue-types/route.js.map +5 -0
- package/.next/server/app/api/issue-types/route.js.nft.json +1 -0
- package/.next/server/app/api/issue-types/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/issues/[owner]/[repo]/[number]/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/issues/[owner]/[repo]/[number]/route/build-manifest.json +9 -0
- package/.next/server/app/api/issues/[owner]/[repo]/[number]/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/issues/[owner]/[repo]/[number]/route.js +9 -0
- package/.next/server/app/api/issues/[owner]/[repo]/[number]/route.js.map +5 -0
- package/.next/server/app/api/issues/[owner]/[repo]/[number]/route.js.nft.json +1 -0
- package/.next/server/app/api/issues/[owner]/[repo]/[number]/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/issues/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/issues/route/build-manifest.json +9 -0
- package/.next/server/app/api/issues/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/issues/route.js +9 -0
- package/.next/server/app/api/issues/route.js.map +5 -0
- package/.next/server/app/api/issues/route.js.nft.json +1 -0
- package/.next/server/app/api/issues/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/project-status/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/project-status/route/build-manifest.json +9 -0
- package/.next/server/app/api/project-status/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/project-status/route.js +9 -0
- package/.next/server/app/api/project-status/route.js.map +5 -0
- package/.next/server/app/api/project-status/route.js.nft.json +1 -0
- package/.next/server/app/api/project-status/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/repo-options/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/repo-options/route/build-manifest.json +9 -0
- package/.next/server/app/api/repo-options/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/repo-options/route.js +9 -0
- package/.next/server/app/api/repo-options/route.js.map +5 -0
- package/.next/server/app/api/repo-options/route.js.nft.json +1 -0
- package/.next/server/app/api/repo-options/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/sources/milestones/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/sources/milestones/route/build-manifest.json +9 -0
- package/.next/server/app/api/sources/milestones/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/sources/milestones/route.js +8 -0
- package/.next/server/app/api/sources/milestones/route.js.map +5 -0
- package/.next/server/app/api/sources/milestones/route.js.nft.json +1 -0
- package/.next/server/app/api/sources/milestones/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/sources/projects/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/sources/projects/route/build-manifest.json +9 -0
- package/.next/server/app/api/sources/projects/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/sources/projects/route.js +8 -0
- package/.next/server/app/api/sources/projects/route.js.map +5 -0
- package/.next/server/app/api/sources/projects/route.js.nft.json +1 -0
- package/.next/server/app/api/sources/projects/route_client-reference-manifest.js +3 -0
- package/.next/server/app/api/sources/repos/route/app-paths-manifest.json +3 -0
- package/.next/server/app/api/sources/repos/route/build-manifest.json +9 -0
- package/.next/server/app/api/sources/repos/route/server-reference-manifest.json +4 -0
- package/.next/server/app/api/sources/repos/route.js +8 -0
- package/.next/server/app/api/sources/repos/route.js.map +5 -0
- package/.next/server/app/api/sources/repos/route.js.nft.json +1 -0
- package/.next/server/app/api/sources/repos/route_client-reference-manifest.js +3 -0
- package/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
- package/.next/server/app/favicon.ico/route/build-manifest.json +9 -0
- package/.next/server/app/favicon.ico/route.js +8 -0
- package/.next/server/app/favicon.ico/route.js.map +5 -0
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
- package/.next/server/app/favicon.ico.body +0 -0
- package/.next/server/app/favicon.ico.meta +1 -0
- package/.next/server/app/index.html +1 -0
- package/.next/server/app/index.meta +14 -0
- package/.next/server/app/index.rsc +19 -0
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -0
- package/.next/server/app/index.segments/_full.segment.rsc +19 -0
- package/.next/server/app/index.segments/_head.segment.rsc +6 -0
- package/.next/server/app/index.segments/_index.segment.rsc +7 -0
- package/.next/server/app/index.segments/_tree.segment.rsc +4 -0
- package/.next/server/app/page/app-paths-manifest.json +3 -0
- package/.next/server/app/page/build-manifest.json +16 -0
- package/.next/server/app/page/next-font-manifest.json +11 -0
- package/.next/server/app/page/react-loadable-manifest.json +1 -0
- package/.next/server/app/page/server-reference-manifest.json +4 -0
- package/.next/server/app/page.js +14 -0
- package/.next/server/app/page.js.map +5 -0
- package/.next/server/app/page.js.nft.json +1 -0
- package/.next/server/app/page_client-reference-manifest.js +3 -0
- package/.next/server/app-paths-manifest.json +18 -0
- package/.next/server/chunks/0k5d_next_1k6ii1a._.js +13 -0
- package/.next/server/chunks/0k5d_next_1k6ii1a._.js.map +1 -0
- package/.next/server/chunks/0k5d_next_dist_esm_build_templates_app-route_1ws-fkb.js +3 -0
- package/.next/server/chunks/0k5d_next_dist_esm_build_templates_app-route_1ws-fkb.js.map +1 -0
- package/.next/server/chunks/1oeh_server_app_api_issues_[owner]_[repo]_[number]_route_actions_1erp-fu.js +3 -0
- package/.next/server/chunks/1oeh_server_app_api_issues_[owner]_[repo]_[number]_route_actions_1erp-fu.js.map +1 -0
- package/.next/server/chunks/[externals]_next_dist_0iuj5m_._.js +3 -0
- package/.next/server/chunks/[externals]_next_dist_0iuj5m_._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0-gtfs0._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__0-gtfs0._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__09cbec6._.js +146 -0
- package/.next/server/chunks/[root-of-the-server]__09cbec6._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__09q-926._.js +14 -0
- package/.next/server/chunks/[root-of-the-server]__09q-926._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0awb99_._.js +146 -0
- package/.next/server/chunks/[root-of-the-server]__0awb99_._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0b6k4yz._.js +146 -0
- package/.next/server/chunks/[root-of-the-server]__0b6k4yz._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__0cxgicj._.js +146 -0
- package/.next/server/chunks/[root-of-the-server]__0cxgicj._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__10mpo5n._.js +146 -0
- package/.next/server/chunks/[root-of-the-server]__10mpo5n._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__12biw0a._.js +146 -0
- package/.next/server/chunks/[root-of-the-server]__12biw0a._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__15iafqs._.js +146 -0
- package/.next/server/chunks/[root-of-the-server]__15iafqs._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1b3873y._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1b3873y._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1f2rnoy._.js +146 -0
- package/.next/server/chunks/[root-of-the-server]__1f2rnoy._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1grtvo6._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1grtvo6._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1h5gc1a._.js +146 -0
- package/.next/server/chunks/[root-of-the-server]__1h5gc1a._.js.map +1 -0
- package/.next/server/chunks/[root-of-the-server]__1qtjaw1._.js +146 -0
- package/.next/server/chunks/[root-of-the-server]__1qtjaw1._.js.map +1 -0
- package/.next/server/chunks/[turbopack]_runtime.js +903 -0
- package/.next/server/chunks/[turbopack]_runtime.js.map +11 -0
- package/.next/server/chunks/_next-internal_server_app_api_actions_copy_route_actions_1gsfs93.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_actions_copy_route_actions_1gsfs93.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_actions_move_route_actions_1an7jh0.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_actions_move_route_actions_1an7jh0.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_actions_set-status_route_actions_0ydlqpv.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_actions_set-status_route_actions_0ydlqpv.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_img_route_actions_09jwciw.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_img_route_actions_09jwciw.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_issue-types_route_actions_1_u9itu.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_issue-types_route_actions_1_u9itu.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_issues_route_actions_1fe49_0.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_issues_route_actions_1fe49_0.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_project-status_route_actions_0b_j5z9.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_project-status_route_actions_0b_j5z9.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_repo-options_route_actions_0uwnoxg.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_repo-options_route_actions_0uwnoxg.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_sources_milestones_route_actions_0byfu1a.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_sources_milestones_route_actions_0byfu1a.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_sources_projects_route_actions_1immsap.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_sources_projects_route_actions_1immsap.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_api_sources_repos_route_actions_1bs29i7.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_api_sources_repos_route_actions_1bs29i7.js.map +1 -0
- package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js +3 -0
- package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js.map +1 -0
- package/.next/server/chunks/lib_validation_schemas_ts_12hfsov._.js +64 -0
- package/.next/server/chunks/lib_validation_schemas_ts_12hfsov._.js.map +1 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_0s9uxxp._.js +6 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_0s9uxxp._.js.map +1 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_client_components_06ol0xl._.js +3 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_client_components_06ol0xl._.js.map +1 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_client_components_builtin_forbidden_1p4io1g.js +3 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_client_components_builtin_forbidden_1p4io1g.js.map +1 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_client_components_builtin_global-error_1-2crru.js +3 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_client_components_builtin_global-error_1-2crru.js.map +1 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_client_components_builtin_unauthorized_0xr3wsj.js +3 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_client_components_builtin_unauthorized_0xr3wsj.js.map +1 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_esm_build_templates_app-page_05682-v.js +4 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_esm_build_templates_app-page_05682-v.js.map +1 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_esm_build_templates_app-page_0rc1ivy.js +4 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_esm_build_templates_app-page_0rc1ivy.js.map +1 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_esm_build_templates_app-page_1s1d6e7.js +4 -0
- package/.next/server/chunks/ssr/0k5d_next_dist_esm_build_templates_app-page_1s1d6e7.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0139ie3._.js +33 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0139ie3._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__037e4a0._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__037e4a0._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0j86va_._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0j86va_._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0lap0he._.js +19 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0lap0he._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0nrb7hf._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0nrb7hf._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0uzhw0c._.js +33 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0uzhw0c._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__15c79qg._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__15c79qg._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__15srn38._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__15srn38._.js.map +1 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1odgy3m._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1odgy3m._.js.map +1 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js +903 -0
- package/.next/server/chunks/ssr/[turbopack]_runtime.js.map +11 -0
- package/.next/server/chunks/ssr/_0och_zz._.js +3 -0
- package/.next/server/chunks/ssr/_0och_zz._.js.map +1 -0
- package/.next/server/chunks/ssr/_12s2gnq._.js +3 -0
- package/.next/server/chunks/ssr/_12s2gnq._.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js.map +1 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js +3 -0
- package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0bitpno._.js +33 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0bitpno._.js.map +1 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0l85403._.js +3 -0
- package/.next/server/chunks/ssr/node_modules__pnpm_0l85403._.js.map +1 -0
- package/.next/server/functions-config-manifest.json +17 -0
- package/.next/server/interception-route-rewrite-manifest.js +1 -0
- package/.next/server/middleware-build-manifest.js +20 -0
- package/.next/server/middleware-manifest.json +6 -0
- package/.next/server/next-font-manifest.js +1 -0
- package/.next/server/next-font-manifest.json +15 -0
- package/.next/server/pages/404.html +1 -0
- package/.next/server/pages/500.html +1 -0
- package/.next/server/pages-manifest.json +4 -0
- package/.next/server/prefetch-hints.json +1 -0
- package/.next/server/server-reference-manifest.js +1 -0
- package/.next/server/server-reference-manifest.json +5 -0
- package/.next/static/U75zJFXx630YxQTwEn0PN/_buildManifest.js +11 -0
- package/.next/static/U75zJFXx630YxQTwEn0PN/_clientMiddlewareManifest.js +1 -0
- package/.next/static/U75zJFXx630YxQTwEn0PN/_ssgManifest.js +1 -0
- package/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
- package/.next/static/chunks/0hha91vaoysnq.js +1 -0
- package/.next/static/chunks/1oh3rj3i5urjs.js +1 -0
- package/.next/static/chunks/246am3y0860nw.css +3 -0
- package/.next/static/chunks/2qd-x1d_x72ft.js +1 -0
- package/.next/static/chunks/2uc8ryc2bya03.js +5 -0
- package/.next/static/chunks/3eypa2kwq_3sl.js +31 -0
- package/.next/static/chunks/3fgrsgshjfptj.js +1 -0
- package/.next/static/chunks/3y1pwecaxueam.js +1 -0
- package/.next/static/chunks/turbopack-2mjg24bp-2jgu.js +1 -0
- package/.next/static/media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2 +0 -0
- package/.next/static/media/53b9e256198e5412-s.390ncx5urfkfu.woff2 +0 -0
- package/.next/static/media/5ce348bf30bf5439-s.31988l_ccedte.woff2 +0 -0
- package/.next/static/media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2 +0 -0
- package/.next/static/media/7178b3e590c64307-s.21jp631_3pja2.woff2 +0 -0
- package/.next/static/media/797e433ab948586e-s.p.0r6juujl39pe6.woff2 +0 -0
- package/.next/static/media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2 +0 -0
- package/.next/static/media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2 +0 -0
- package/.next/static/media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2 +0 -0
- package/.next/static/media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2 +0 -0
- package/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
- package/.next/static/media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2 +0 -0
- package/.next/trace +1 -0
- package/.next/trace-build +1 -0
- package/.next/turbopack +0 -0
- package/.next/types/cache-life.d.ts +145 -0
- package/.next/types/routes.d.ts +84 -0
- package/.next/types/validator.ts +178 -0
- package/README.md +224 -0
- package/bin/issue-commander.js +103 -0
- package/next.config.ts +13 -0
- package/package.json +82 -0
- package/public/file.svg +1 -0
- package/public/globe.svg +1 -0
- package/public/next.svg +1 -0
- package/public/vercel.svg +1 -0
- package/public/window.svg +1 -0
package/README.md
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="issue-commander-logo.png" alt="Issue Commander" width="200" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
# Issue Commander
|
|
6
|
+
|
|
7
|
+
**A two-pane manager for GitHub issues and pull requests**, in the tradition of the
|
|
8
|
+
[orthodox file managers](https://en.wikipedia.org/wiki/Orthodox_file_manager) — Norton Commander,
|
|
9
|
+
Total Commander, and Midnight Commander (`mc`). Point each pane at a
|
|
10
|
+
**repository**, an **org-wide milestone**, or a **GitHub Project (V2)**, then triage with function
|
|
11
|
+
keys (F3–F8) — the way you move files in a two-pane file manager. Everything stays scoped to one
|
|
12
|
+
GitHub **organization**.
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npx issue-commander --org your-org
|
|
16
|
+
# → http://localhost:3000
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
<p align="center">
|
|
20
|
+
<img src="issue-commander-screenshot.png" alt="Issue Commander — a repository's issues beside its pull requests" width="900" />
|
|
21
|
+
</p>
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Why
|
|
26
|
+
|
|
27
|
+
GitHub shows one issue, in one repo, in one tab. Triaging across repos, a milestone, or a project
|
|
28
|
+
board means constant clicking and context-switching. Issue Commander puts two panes side by side and
|
|
29
|
+
drives every action from the keyboard, so you reorganize issues as fast as you move files in a
|
|
30
|
+
two-pane file manager.
|
|
31
|
+
|
|
32
|
+
## Requirements
|
|
33
|
+
|
|
34
|
+
- **Node 20+**
|
|
35
|
+
- **[GitHub CLI](https://cli.github.com/), authenticated.** The token comes from `gh auth token`
|
|
36
|
+
(falling back to `GITHUB_TOKEN` / `GH_TOKEN`); run `gh auth login` once. It needs the `repo`,
|
|
37
|
+
`read:org`, and `project` scopes.
|
|
38
|
+
- **A target organization** — pass `--org <org>`, or set `IC_GITHUB_ORG` (or the legacy
|
|
39
|
+
`GITHUB_ORG`). There is no in-app org switch. See [Configuration](#configuration).
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
gh auth login
|
|
43
|
+
npx issue-commander --org acme # serve on port 3000
|
|
44
|
+
npx issue-commander --org acme --port 3002 # custom port
|
|
45
|
+
IC_GITHUB_ORG=acme npx issue-commander # via the environment instead of a flag
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## The two panes
|
|
49
|
+
|
|
50
|
+
Each pane points at a **source** and lists its rows in a dense, resizable table. You act **from** the
|
|
51
|
+
active pane **onto** the other one: put the cursor on a row, press a function key, and it operates on
|
|
52
|
+
whatever the opposite pane shows. Press **F6** on the left pane to move that issue into the right
|
|
53
|
+
pane's project:
|
|
54
|
+
|
|
55
|
+
| 🏁 `milestone: 42` · **F1** | 📋 `Project: Q3 Roadmap` · **F2** |
|
|
56
|
+
| ---------------------------------- | ------------------------------------------ |
|
|
57
|
+
| `#812 Fix flaky upload test` | `#640 Onboarding revamp ● Todo` |
|
|
58
|
+
| `#815 Login throttling` ◀ cursor | `#641 Billing page ● In Progress` |
|
|
59
|
+
| `#820 Stripe webhook retry` | `#655 Dark mode ● Done` |
|
|
60
|
+
| `#828 Rate-limit headers` | `#660 CSV export ● Todo` |
|
|
61
|
+
|
|
62
|
+
### Sources a pane can show
|
|
63
|
+
|
|
64
|
+
| Source | What it lists | Last column |
|
|
65
|
+
| -------------- | -------------------------------------------------------------------- | ----------- |
|
|
66
|
+
| **Repository** | Issues (or pull requests) in one repo, via REST | Milestone |
|
|
67
|
+
| **Milestone** | Issues with that milestone **title across every repo**, via Search | Repo |
|
|
68
|
+
| **Project** | Items on a Projects V2 board, with their **Status**, via GraphQL | Repo |
|
|
69
|
+
| **Recent** | Issues you're involved in, most-recently-updated first, via Search | Repo |
|
|
70
|
+
|
|
71
|
+
### Issues or pull requests
|
|
72
|
+
|
|
73
|
+
A repository pane carries an **Issues / Pull Requests** tab. Switch to pull requests and each row
|
|
74
|
+
shows its **author**, **target branch**, and **merge status** — open, merged, or closed, marked by
|
|
75
|
+
the row icon. Filter by state (**Open / Merged / Closed / All**), by **merge date** (today, this
|
|
76
|
+
week, this month), by **target branch**, or by author. Pull-request rows are read-only here: open one
|
|
77
|
+
on GitHub with `Enter`, or preview it with `F3`.
|
|
78
|
+
|
|
79
|
+
### Columns in the issue view
|
|
80
|
+
|
|
81
|
+
| Column | Notes |
|
|
82
|
+
| -------------------- | ----------------------------------------------------------------------------- |
|
|
83
|
+
| **#** | Issue number and open/closed icon; click any header to **sort** |
|
|
84
|
+
| **Title** | Double-click to open the issue on GitHub |
|
|
85
|
+
| **Assignee** | Overlapping avatar stack, with a `+N` overflow |
|
|
86
|
+
| **Labels** | GitHub colors, with a `+N` overflow |
|
|
87
|
+
| **Status** | The issue's **Project Status** (Todo / In Progress / Done …); see note |
|
|
88
|
+
| **Repo / Milestone** | Contextual last column, set by the source |
|
|
89
|
+
|
|
90
|
+
> **Status on every pane.** Project panes read Status from the board. Repository, milestone, and
|
|
91
|
+
> recent panes get it from a batched GraphQL lookup, so each issue shows its Project Status even when
|
|
92
|
+
> the pane is not a project. The **default project** you pick in Settings decides which board it reads.
|
|
93
|
+
|
|
94
|
+
## What you can do
|
|
95
|
+
|
|
96
|
+
**Move issues between milestones.** Point the left pane at `milestone: 42` and the right at
|
|
97
|
+
`milestone: 43`, highlight an issue, and press **F6**. It moves to milestone 43 and leaves the left
|
|
98
|
+
pane. Milestones match **org-wide by title**, so this works across every repo.
|
|
99
|
+
|
|
100
|
+
**Copy or move between projects.** Point one pane at a Projects V2 board. **F5** copies the
|
|
101
|
+
highlighted issue onto that board (an issue can belong to many projects); **F6** moves it between
|
|
102
|
+
boards, adding it to the target before removing it from the source, so membership is never lost. A
|
|
103
|
+
cross-repo move runs a real `transferIssue` — new number, old URL redirects — behind a confirm dialog.
|
|
104
|
+
|
|
105
|
+
**Act on many at once.** **Ins** marks a row (yellow) and advances the cursor, so `Ins Ins Ins`
|
|
106
|
+
selects a run. Then **F5 / F6 / F8** (copy / move / close) or **F7** (edit state, assignee, labels,
|
|
107
|
+
milestone, status, type) act on the whole selection — concurrency-limited and optimistic, with a
|
|
108
|
+
per-row spinner and per-row rollback on failure.
|
|
109
|
+
|
|
110
|
+
**Create and preview fast.** **Alt+Enter** opens a new-issue form in the sibling pane, pre-filled
|
|
111
|
+
from the active pane's source and your saved defaults. **F3** previews the highlighted row in the
|
|
112
|
+
opposite pane (see below). **Ctrl+U** opens an inline assignee picker on the row itself.
|
|
113
|
+
|
|
114
|
+
**Load lazily.** Lists page in on demand and background-preload the next page every few seconds until
|
|
115
|
+
fully loaded, keeping the previous rows on screen so a pane never flashes empty. The preview
|
|
116
|
+
prefetches the cursor's ticket so it opens instantly, and option lists (assignees, labels, projects)
|
|
117
|
+
persist in `localStorage`.
|
|
118
|
+
|
|
119
|
+
## Preview (F3)
|
|
120
|
+
|
|
121
|
+
**F3** previews the highlighted row in the opposite pane and follows the cursor. For an **issue** you
|
|
122
|
+
get the rendered Markdown description (images included), the comments, and its parent, sub-issues, and
|
|
123
|
+
linked pull requests. For a **pull request** you also get its stats — commits, changed files,
|
|
124
|
+
additions and deletions, and the branch flow — with no code diff.
|
|
125
|
+
|
|
126
|
+
Any issue or pull request linked by URL in the body or comments appears under **Mentioned Issues**.
|
|
127
|
+
Every related row — parent, sub-issue, linked, or mentioned — expands inline from its chevron to
|
|
128
|
+
reveal that ticket's full description, without leaving the pane or opening a dialog.
|
|
129
|
+
|
|
130
|
+
## Keyboard
|
|
131
|
+
|
|
132
|
+
| Key | Action |
|
|
133
|
+
| ------------------- | --------------------------------------------------------------------- |
|
|
134
|
+
| `Tab` | Switch the active pane |
|
|
135
|
+
| `↑ ↓` · `PgUp/PgDn` | Move the cursor (±1 / ±10) |
|
|
136
|
+
| `Enter` | Open the row on GitHub |
|
|
137
|
+
| `Ins` | Select the row and advance |
|
|
138
|
+
| `F1` / `F2` | Choose the source for the left / right pane |
|
|
139
|
+
| `F3` | Preview in the other pane |
|
|
140
|
+
| `F4` | Edit the description inline, in the other pane |
|
|
141
|
+
| `F5` | Copy to the other pane's project |
|
|
142
|
+
| `F6` | Move to the other pane's source |
|
|
143
|
+
| `F7` / `Space` | Edit fields (state, assignee, labels, milestone, status, type) |
|
|
144
|
+
| `F8` | Close the issue(s) |
|
|
145
|
+
| `Ctrl+U` | Quick-assign on the highlighted row |
|
|
146
|
+
| `Alt+Enter` | New issue, in the sibling pane |
|
|
147
|
+
| `Esc` | Close the preview or dialog |
|
|
148
|
+
|
|
149
|
+
Every write is **optimistic**: the UI updates at once and rolls back with a toast if the call fails.
|
|
150
|
+
|
|
151
|
+
## Settings
|
|
152
|
+
|
|
153
|
+
The **⚙** button stores your **default repository, milestone, and project** in `localStorage`. These
|
|
154
|
+
pre-fill new issues and choose which board's **Status** you see and edit across non-project panes.
|
|
155
|
+
Seed them for everyone with `--repo` / `--milestone` / `--project` (see [Configuration](#configuration));
|
|
156
|
+
the dialog then overrides that seed per browser.
|
|
157
|
+
|
|
158
|
+
## Configuration
|
|
159
|
+
|
|
160
|
+
Issue Commander is configured from the command line or the environment. **Flags win over
|
|
161
|
+
environment variables**, and the `IC_`-prefixed variables win over the legacy names.
|
|
162
|
+
|
|
163
|
+
### Command-line flags
|
|
164
|
+
|
|
165
|
+
| Flag | Sets |
|
|
166
|
+
| --------------------- | ------------------------------------------------------------------------ |
|
|
167
|
+
| `--org <org>` | GitHub organization to manage (**required**) |
|
|
168
|
+
| `--repo <name>` | Default repository — pre-fills new issues and picks the Status board |
|
|
169
|
+
| `--milestone <title>` | Default org-wide milestone |
|
|
170
|
+
| `--project <number>` | Default Projects V2 number |
|
|
171
|
+
| `--port <port>` | Port to serve on (default `3000`) |
|
|
172
|
+
| `-h`, `--help` | Show usage and exit |
|
|
173
|
+
|
|
174
|
+
### Environment variables
|
|
175
|
+
|
|
176
|
+
| Variable | Same as | Notes |
|
|
177
|
+
| --------------------------- | ------------- | -------------------------------------------- |
|
|
178
|
+
| `IC_GITHUB_ORG` | `--org` | Preferred; prefixed to avoid clashes |
|
|
179
|
+
| `GITHUB_ORG` | `--org` | Legacy name, still supported |
|
|
180
|
+
| `IC_DEFAULT_REPO` | `--repo` | |
|
|
181
|
+
| `IC_DEFAULT_MILESTONE` | `--milestone` | |
|
|
182
|
+
| `IC_DEFAULT_PROJECT` | `--project` | A project number |
|
|
183
|
+
| `PORT` | `--port` | |
|
|
184
|
+
| `GITHUB_TOKEN` / `GH_TOKEN` | — | Token fallback when `gh` is not authenticated |
|
|
185
|
+
|
|
186
|
+
The three **defaults** seed the app on first run and the in-app **Settings** dialog overrides them.
|
|
187
|
+
Flags apply to the `npx` launcher; when running from source (`pnpm dev`), set the environment
|
|
188
|
+
variables (in your shell or `.env.local`) instead.
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
# Simplest — one flag
|
|
192
|
+
npx issue-commander --org acme
|
|
193
|
+
|
|
194
|
+
# With defaults, on a custom port
|
|
195
|
+
npx issue-commander --org acme --repo web --milestone "Q3 Roadmap" --project 12 --port 3002
|
|
196
|
+
|
|
197
|
+
# Everything through the environment (e.g. a container or CI)
|
|
198
|
+
export IC_GITHUB_ORG=acme
|
|
199
|
+
export IC_DEFAULT_REPO=web
|
|
200
|
+
export IC_DEFAULT_MILESTONE="Q3 Roadmap"
|
|
201
|
+
npx issue-commander
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
## Development
|
|
205
|
+
|
|
206
|
+
```bash
|
|
207
|
+
git clone … && cd issue-commander
|
|
208
|
+
pnpm install
|
|
209
|
+
echo "GITHUB_ORG=your-org" > .env.local
|
|
210
|
+
pnpm dev # webpack dev server on :3002
|
|
211
|
+
pnpm build && pnpm start
|
|
212
|
+
pnpm lint
|
|
213
|
+
pnpm exec tsc --noEmit
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
> `pnpm dev` runs `next dev --webpack` **on purpose**. Next 16's Turbopack dev hot-reloader leaks an
|
|
217
|
+
> async-hooks map and crashes under heavy octokit churn; `build` and `start` are unaffected.
|
|
218
|
+
|
|
219
|
+
Built with Next.js 16 (App Router), React Query, Zustand, Tailwind v4, shadcn/ui, Base UI, and octokit
|
|
220
|
+
(REST + GraphQL). See [`CLAUDE.md`](./CLAUDE.md) for the full architecture.
|
|
221
|
+
|
|
222
|
+
## License
|
|
223
|
+
|
|
224
|
+
MIT
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
|
|
4
|
+
// Launcher for `npx issue-commander`. Serves the prebuilt Next.js app (the published
|
|
5
|
+
// package ships a built `.next`); if run from source without a build, it builds first.
|
|
6
|
+
//
|
|
7
|
+
// Configuration resolves from CLI flags, then IC_-prefixed env vars, then legacy env vars.
|
|
8
|
+
// Flags are normalized into IC_* env vars that the server reads at runtime.
|
|
9
|
+
const { spawnSync } = require("node:child_process");
|
|
10
|
+
const { existsSync } = require("node:fs");
|
|
11
|
+
const path = require("node:path");
|
|
12
|
+
|
|
13
|
+
const root = path.join(__dirname, "..");
|
|
14
|
+
|
|
15
|
+
// Parse `--key=value` and `--key value` (and bare `--flag`). Unknown keys are ignored.
|
|
16
|
+
function parseArgs(argv) {
|
|
17
|
+
const out = {};
|
|
18
|
+
for (let i = 0; i < argv.length; i++) {
|
|
19
|
+
const arg = argv[i];
|
|
20
|
+
if (arg === "-h") {
|
|
21
|
+
out.help = "true";
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
if (!arg.startsWith("--")) continue;
|
|
25
|
+
let key = arg.slice(2);
|
|
26
|
+
let value;
|
|
27
|
+
const eq = key.indexOf("=");
|
|
28
|
+
if (eq >= 0) {
|
|
29
|
+
value = key.slice(eq + 1);
|
|
30
|
+
key = key.slice(0, eq);
|
|
31
|
+
} else if (i + 1 < argv.length && !argv[i + 1].startsWith("--")) {
|
|
32
|
+
value = argv[++i];
|
|
33
|
+
} else {
|
|
34
|
+
value = "true";
|
|
35
|
+
}
|
|
36
|
+
out[key] = value;
|
|
37
|
+
}
|
|
38
|
+
return out;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function printHelp() {
|
|
42
|
+
console.log(`
|
|
43
|
+
Issue Commander — a two-pane manager for GitHub issues and pull requests
|
|
44
|
+
|
|
45
|
+
Usage:
|
|
46
|
+
npx issue-commander --org <org> [options]
|
|
47
|
+
|
|
48
|
+
Options:
|
|
49
|
+
--org <org> GitHub organization to manage
|
|
50
|
+
(env: IC_GITHUB_ORG, or legacy GITHUB_ORG)
|
|
51
|
+
--repo <name> Default repository — pre-fills new issues and picks the Status board
|
|
52
|
+
(env: IC_DEFAULT_REPO)
|
|
53
|
+
--milestone <title> Default org-wide milestone (env: IC_DEFAULT_MILESTONE)
|
|
54
|
+
--project <number> Default Projects V2 number (env: IC_DEFAULT_PROJECT)
|
|
55
|
+
--port <port> Port to serve on (default 3000) (env: PORT)
|
|
56
|
+
-h, --help Show this help
|
|
57
|
+
|
|
58
|
+
Auth: the server reads a token from \`gh auth token\` (run \`gh auth login\` once),
|
|
59
|
+
falling back to GITHUB_TOKEN / GH_TOKEN.
|
|
60
|
+
`);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
function next(args) {
|
|
64
|
+
const bin = require.resolve("next/dist/bin/next");
|
|
65
|
+
return spawnSync(process.execPath, [bin, ...args], { cwd: root, stdio: "inherit", env: process.env });
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const args = parseArgs(process.argv.slice(2));
|
|
69
|
+
|
|
70
|
+
if (args.help) {
|
|
71
|
+
printHelp();
|
|
72
|
+
process.exit(0);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// Org: --org > IC_GITHUB_ORG > GITHUB_ORG.
|
|
76
|
+
const org = String(args.org || process.env.IC_GITHUB_ORG || process.env.GITHUB_ORG || "").trim();
|
|
77
|
+
if (!org) {
|
|
78
|
+
console.error("\n issue-commander needs the GitHub organization it should manage.\n");
|
|
79
|
+
console.error(" Usage: npx issue-commander --org <your-org>");
|
|
80
|
+
console.error(" IC_GITHUB_ORG=<your-org> npx issue-commander\n");
|
|
81
|
+
console.error(" It reads a token from the GitHub CLI, so first run: gh auth login");
|
|
82
|
+
console.error(" (or set GITHUB_TOKEN / GH_TOKEN). See --help for all options.\n");
|
|
83
|
+
process.exit(1);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// Normalize flags into the IC_* env vars the server reads at runtime.
|
|
87
|
+
process.env.IC_GITHUB_ORG = org;
|
|
88
|
+
if (args.repo) process.env.IC_DEFAULT_REPO = String(args.repo);
|
|
89
|
+
if (args.milestone) process.env.IC_DEFAULT_MILESTONE = String(args.milestone);
|
|
90
|
+
if (args.project) process.env.IC_DEFAULT_PROJECT = String(args.project);
|
|
91
|
+
const port = String(args.port || process.env.PORT || "3000");
|
|
92
|
+
process.env.PORT = port;
|
|
93
|
+
|
|
94
|
+
// Build only when running from source without an existing build (published builds ship `.next`).
|
|
95
|
+
if (!existsSync(path.join(root, ".next", "BUILD_ID"))) {
|
|
96
|
+
console.log(" Building Issue Commander (first run)…");
|
|
97
|
+
const built = next(["build"]);
|
|
98
|
+
if (built.status) process.exit(built.status);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
console.log(`\n Issue Commander → http://localhost:${port} (org: @${org})\n`);
|
|
102
|
+
const server = next(["start", "--port", port]);
|
|
103
|
+
process.exit(server.status || 0);
|
package/next.config.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { NextConfig } from "next";
|
|
2
|
+
|
|
3
|
+
const nextConfig: NextConfig = {
|
|
4
|
+
// Pin the workspace root to this project so Turbopack doesn't pick a parent
|
|
5
|
+
// lockfile (there are other lockfiles higher up the tree).
|
|
6
|
+
turbopack: {
|
|
7
|
+
root: __dirname,
|
|
8
|
+
},
|
|
9
|
+
// Allow accessing the dev server (and its HMR endpoint) via these hosts.
|
|
10
|
+
allowedDevOrigins: ["127.0.0.1", "localhost", "192.168.31.222"],
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export default nextConfig;
|
package/package.json
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "issue-commander",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "A Total Commander–style two-pane manager for GitHub issues — triage across repositories, org-wide milestones, and Projects with function keys.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"github",
|
|
7
|
+
"issues",
|
|
8
|
+
"projects",
|
|
9
|
+
"milestones",
|
|
10
|
+
"triage",
|
|
11
|
+
"total-commander",
|
|
12
|
+
"two-pane",
|
|
13
|
+
"cli"
|
|
14
|
+
],
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"author": "DavertMik",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/DavertMik/issue-commander.git"
|
|
20
|
+
},
|
|
21
|
+
"homepage": "https://github.com/DavertMik/issue-commander#readme",
|
|
22
|
+
"bugs": "https://github.com/DavertMik/issue-commander/issues",
|
|
23
|
+
"publishConfig": {
|
|
24
|
+
"access": "public"
|
|
25
|
+
},
|
|
26
|
+
"bin": {
|
|
27
|
+
"issue-commander": "bin/issue-commander.js"
|
|
28
|
+
},
|
|
29
|
+
"files": [
|
|
30
|
+
"bin",
|
|
31
|
+
".next",
|
|
32
|
+
"!.next/dev",
|
|
33
|
+
"!.next/cache",
|
|
34
|
+
"public",
|
|
35
|
+
"next.config.ts"
|
|
36
|
+
],
|
|
37
|
+
"engines": {
|
|
38
|
+
"node": ">=20"
|
|
39
|
+
},
|
|
40
|
+
"scripts": {
|
|
41
|
+
"dev": "next dev --webpack",
|
|
42
|
+
"dev:turbo": "next dev --turbopack",
|
|
43
|
+
"build": "next build",
|
|
44
|
+
"start": "next start",
|
|
45
|
+
"lint": "eslint",
|
|
46
|
+
"prepublishOnly": "next build"
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"@base-ui/react": "^1.6.0",
|
|
50
|
+
"@tanstack/react-query": "^5.101.0",
|
|
51
|
+
"class-variance-authority": "^0.7.1",
|
|
52
|
+
"clsx": "^2.1.1",
|
|
53
|
+
"cmdk": "^1.1.1",
|
|
54
|
+
"lucide-react": "^1.21.0",
|
|
55
|
+
"next": "16.2.9",
|
|
56
|
+
"next-themes": "^0.4.6",
|
|
57
|
+
"octokit": "^5.0.5",
|
|
58
|
+
"radix-ui": "^1.6.0",
|
|
59
|
+
"react": "19.2.4",
|
|
60
|
+
"react-dom": "19.2.4",
|
|
61
|
+
"react-markdown": "^10.1.0",
|
|
62
|
+
"rehype-raw": "^7.0.0",
|
|
63
|
+
"remark-gfm": "^4.0.1",
|
|
64
|
+
"shadcn": "^4.11.0",
|
|
65
|
+
"sonner": "^2.0.7",
|
|
66
|
+
"tailwind-merge": "^3.6.0",
|
|
67
|
+
"tw-animate-css": "^1.4.0",
|
|
68
|
+
"vaul": "^1.1.2",
|
|
69
|
+
"zod": "^4.4.3",
|
|
70
|
+
"zustand": "^5.0.14"
|
|
71
|
+
},
|
|
72
|
+
"devDependencies": {
|
|
73
|
+
"@tailwindcss/postcss": "^4",
|
|
74
|
+
"@types/node": "^20",
|
|
75
|
+
"@types/react": "^19",
|
|
76
|
+
"@types/react-dom": "^19",
|
|
77
|
+
"eslint": "^9",
|
|
78
|
+
"eslint-config-next": "16.2.9",
|
|
79
|
+
"tailwindcss": "^4",
|
|
80
|
+
"typescript": "^5"
|
|
81
|
+
}
|
|
82
|
+
}
|
package/public/file.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="none" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M14.5 13.5V5.41a1 1 0 0 0-.3-.7L9.8.29A1 1 0 0 0 9.08 0H1.5v13.5A2.5 2.5 0 0 0 4 16h8a2.5 2.5 0 0 0 2.5-2.5m-1.5 0v-7H8v-5H3v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1M9.5 5V2.12L12.38 5zM5.13 5h-.62v1.25h2.12V5zm-.62 3h7.12v1.25H4.5zm.62 3h-.62v1.25h7.12V11z" clip-rule="evenodd" fill="#666" fill-rule="evenodd"/></svg>
|
package/public/globe.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><g clip-path="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M10.27 14.1a6.5 6.5 0 0 0 3.67-3.45q-1.24.21-2.7.34-.31 1.83-.97 3.1M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16m.48-1.52a7 7 0 0 1-.96 0H7.5a4 4 0 0 1-.84-1.32q-.38-.89-.63-2.08a40 40 0 0 0 3.92 0q-.25 1.2-.63 2.08a4 4 0 0 1-.84 1.31zm2.94-4.76q1.66-.15 2.95-.43a7 7 0 0 0 0-2.58q-1.3-.27-2.95-.43a18 18 0 0 1 0 3.44m-1.27-3.54a17 17 0 0 1 0 3.64 39 39 0 0 1-4.3 0 17 17 0 0 1 0-3.64 39 39 0 0 1 4.3 0m1.1-1.17q1.45.13 2.69.34a6.5 6.5 0 0 0-3.67-3.44q.65 1.26.98 3.1M8.48 1.5l.01.02q.41.37.84 1.31.38.89.63 2.08a40 40 0 0 0-3.92 0q.25-1.2.63-2.08a4 4 0 0 1 .85-1.32 7 7 0 0 1 .96 0m-2.75.4a6.5 6.5 0 0 0-3.67 3.44 29 29 0 0 1 2.7-.34q.31-1.83.97-3.1M4.58 6.28q-1.66.16-2.95.43a7 7 0 0 0 0 2.58q1.3.27 2.95.43a18 18 0 0 1 0-3.44m.17 4.71q-1.45-.12-2.69-.34a6.5 6.5 0 0 0 3.67 3.44q-.65-1.27-.98-3.1" fill="#666"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h16v16H0z"/></clipPath></defs></svg>
|
package/public/next.svg
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80"><path fill="#000" d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6h-17.9l-23 28.6-23-28.6zm18.3 56.7-9-11-27.1 33.7h17.8l18.3-22.7z"/><path fill="#000" d="M81 79.3 17 0H0v79.3h13.6V17l50.2 62.3H81Zm252.6-.4c-1 0-1.8-.4-2.5-1s-1.1-1.6-1.1-2.6.3-1.8 1-2.5 1.6-1 2.6-1 1.8.3 2.5 1a3.4 3.4 0 0 1 .6 4.3 3.7 3.7 0 0 1-3 1.8zm23.2-33.5h6v23.3c0 2.1-.4 4-1.3 5.5a9.1 9.1 0 0 1-3.8 3.5c-1.6.8-3.5 1.3-5.7 1.3-2 0-3.7-.4-5.3-1s-2.8-1.8-3.7-3.2c-.9-1.3-1.4-3-1.4-5h6c.1.8.3 1.6.7 2.2s1 1.2 1.6 1.5c.7.4 1.5.5 2.4.5 1 0 1.8-.2 2.4-.6a4 4 0 0 0 1.6-1.8c.3-.8.5-1.8.5-3V45.5zm30.9 9.1a4.4 4.4 0 0 0-2-3.3 7.5 7.5 0 0 0-4.3-1.1c-1.3 0-2.4.2-3.3.5-.9.4-1.6 1-2 1.6a3.5 3.5 0 0 0-.3 4c.3.5.7.9 1.3 1.2l1.8 1 2 .5 3.2.8c1.3.3 2.5.7 3.7 1.2a13 13 0 0 1 3.2 1.8 8.1 8.1 0 0 1 3 6.5c0 2-.5 3.7-1.5 5.1a10 10 0 0 1-4.4 3.5c-1.8.8-4.1 1.2-6.8 1.2-2.6 0-4.9-.4-6.8-1.2-2-.8-3.4-2-4.5-3.5a10 10 0 0 1-1.7-5.6h6a5 5 0 0 0 3.5 4.6c1 .4 2.2.6 3.4.6 1.3 0 2.5-.2 3.5-.6 1-.4 1.8-1 2.4-1.7a4 4 0 0 0 .8-2.4c0-.9-.2-1.6-.7-2.2a11 11 0 0 0-2.1-1.4l-3.2-1-3.8-1c-2.8-.7-5-1.7-6.6-3.2a7.2 7.2 0 0 1-2.4-5.7 8 8 0 0 1 1.7-5 10 10 0 0 1 4.3-3.5c2-.8 4-1.2 6.4-1.2 2.3 0 4.4.4 6.2 1.2 1.8.8 3.2 2 4.3 3.4 1 1.4 1.5 3 1.5 5h-5.8z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1155 1000"><path d="m577.3 0 577.4 1000H0z" fill="#fff"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 2.5h13v10a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1zM0 1h16v11.5a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 0 12.5zm3.75 4.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5M7 4.75a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0m1.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5" fill="#666"/></svg>
|