{"id":21064894,"url":"https://github.com/rpillar/pki","last_synced_at":"2026-01-21T09:03:36.544Z","repository":{"id":141150221,"uuid":"224839214","full_name":"rpillar/PKI","owner":"rpillar","description":"A small app used to display info on the quality of your perl code with links to module POD. Built using Mojolicious. ","archived":false,"fork":false,"pushed_at":"2024-10-26T20:21:45.000Z","size":3568,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-30T12:55:59.504Z","etag":null,"topics":["mojolicious","perl","quality"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rpillar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2019-11-29T11:15:01.000Z","updated_at":"2024-10-26T20:21:50.000Z","dependencies_parsed_at":"2024-06-13T03:30:19.916Z","dependency_job_id":"63c35e9e-5360-4881-92b3-5fe63ed99b8e","html_url":"https://github.com/rpillar/PKI","commit_stats":null,"previous_names":["rpillar/pki"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rpillar/PKI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpillar%2FPKI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpillar%2FPKI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpillar%2FPKI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpillar%2FPKI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rpillar","download_url":"https://codeload.github.com/rpillar/PKI/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rpillar%2FPKI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28630938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["mojolicious","perl","quality"],"created_at":"2024-11-19T17:52:36.162Z","updated_at":"2026-01-21T09:03:36.538Z","avatar_url":"https://github.com/rpillar.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PKI\nA small app used to display info on the quality of your perl code with links to module POD / info. Built using Mojolicious and inspired in part by Dave Cross. \n\nThe parsing of the modules to pull out inheritance / dependency data is based on work found here - http://technix.github.io/Perl-Analyzer/\n\n# Notes\n\nTo initialize the database (sqlite) start sqlite - `sqlite3 critic.db` - and at the sqlite prompt run - `.read initial.sql`. \n\nThe config file - `./script/modulelib.conf` - holds the full path to libraries that are parsed during the runnning of the `perl_files.pl` script. When the app is running the possible location of the modules that are parsed for POD may be different - use `./script/runlib.conf` to ensure that (if there are differences) these are picked up.\n\nAs an example of this difference - for the Dancer web framework the git data would be downloaded from https://github.com/PerlDancer/Dancer.git and the source code (for POD) is downloaded from CPAN (https://metacpan.org/pod/Dancer).\n\n### `./script/config/modulelib.conf`\n\n```\n{\n    \"libs\":  [ \"\u003cfull path to /lib - add as many as you want\u003e\" ],\n    \"git\": \"\u003cfull path to the 'base' of your 'local' git repo\u003e\"\n}\n```\n\n### `./script/config/runlib.conf`\n\n```\n{\n    \"libs\":  [ \"\u003cfull path to /lib - add as many as you want\u003e\" ]\n}\n```\n\nInstall any requested / missing modules using `cpanm`.\n\n# To run\n\nTo run the script to parse files / collect data :-\n\n```\n\u003e perl ./script/perl_files.pl\n```\n\nTo run the app - at the command line :-\n```\n\u003e morbo -l http://localhost:3020 ./script/pki\n```\n\n# Updates\n - refactor Controller code - introduce a *Service* layer that will contain the code to *get the data* - create \n a *thin* controller.\n - investigate whether the POD generation can be replaced with `App::sdview`\n - Add code to process roles - *with* / also *require*\n - distinguish between internal / external dependencies\n - when you have code from multiple repos then distinguish between them\n - Add module dependency graphs\n - Fix links within POD\n - Add flag so that interface / scripts *only* process source files - not GIT\n - Would it be possible - add a process that will analyse scripts for POD and allow the \"user' to\n document dependencies / tables used and updated etc. \n - Make Perl::Critic settings 'flexible' - create a 'settings' function where the 'user' could set the location of _critic_ file (env var `PERLCRITIC`) or state the _theme_ required. A settings _function_ could support user settings for other _things_.\n - possible bug when rerunning the _main_ script without the `initialize` option - subroutine data duplicated - check.\n - create a _reporting_ tab - would display _general_ info on the source code being _viewed_.\n - complexity _history_ - module / script change metrics\n - migrate to `materializeweb` (`materializecss` is not being maintained).\n\n # Further Notes\n\n This code tries to provide a way of viewing information about the code base that is _pointed at_. If you would like to just see\n the complexity scores using `Perl::Metrics::Simple` then :-\n ```\n use Perl::Metrics::Simple;\n \n my $analyzer = Perl::Metrics::Simple-\u003enew;\n ```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frpillar%2Fpki","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frpillar%2Fpki","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frpillar%2Fpki/lists"}