{"id":20082158,"url":"https://github.com/exercism/fsharp-analyzer","last_synced_at":"2025-05-06T00:31:39.576Z","repository":{"id":40250776,"uuid":"250244111","full_name":"exercism/fsharp-analyzer","owner":"exercism","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-01T05:47:23.000Z","size":143,"stargazers_count":1,"open_issues_count":12,"forks_count":5,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-29T06:28:43.684Z","etag":null,"topics":["community-contributions-paused","exercism-analyzer","exercism-tooling","maintained-autonomous"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/exercism.png","metadata":{"funding":{"github":["exercism"],"custom":["https://exercism.org/donate"]},"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-03-26T11:48:44.000Z","updated_at":"2025-02-01T07:57:04.000Z","dependencies_parsed_at":"2024-05-02T14:20:19.914Z","dependency_job_id":"81594b15-345e-439b-8625-89ecf0aaf2d3","html_url":"https://github.com/exercism/fsharp-analyzer","commit_stats":{"total_commits":86,"total_committers":6,"mean_commits":"14.333333333333334","dds":"0.34883720930232553","last_synced_commit":"45963797222ba532757327673399e39bbbbfac9b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exercism%2Ffsharp-analyzer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exercism%2Ffsharp-analyzer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exercism%2Ffsharp-analyzer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exercism%2Ffsharp-analyzer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exercism","download_url":"https://codeload.github.com/exercism/fsharp-analyzer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252215408,"owners_count":21712965,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["community-contributions-paused","exercism-analyzer","exercism-tooling","maintained-autonomous"],"created_at":"2024-11-13T15:42:13.739Z","updated_at":"2025-05-06T00:31:39.315Z","avatar_url":"https://github.com/exercism.png","language":"Shell","funding_links":["https://github.com/sponsors/exercism","https://exercism.org/donate"],"categories":[],"sub_categories":[],"readme":"# Exercism F# analyzer\n\nAn [analyzer][analyzer-introduction] can automatically detect issues with submissions and comment on them.\n\nThe F# analyzer implements the [analyzer interface][analyzer-interface]. It uses the [F# Compiler service][fsharp-compiler-service] to parse the submission's source code into syntax trees, which are then analyzed for known patterns.\n\n## Analyzing a solution\n\nTo analyze a solution, follow these steps:\n\n1. Open a command prompt in the root directory.\n1. Run `./bin/run.sh \u003cexercise\u003e \u003csource-directory\u003e \u003coutput-directory\u003e`. This script will run the analyzer on the specified directory.\n1. Once the script has completed, the analysis results will be written to `\u003coutput-directory\u003e/analysis.json`.\n\n## Analyzing a solution using Docker\n\nTo analyze a solution using a Docker container, follow these steps:\n\n1. Open a command prompt in the root directory.\n1. Run `./bin/run-in-docker.sh \u003cexercise\u003e \u003csource-directory\u003e \u003coutput-directory\u003e`. This script will:\n   1. Build the analyzer Docker image (if necessary).\n   1. Run the analyzer Docker image (as a container), passing the specified `exercise`, `source-directory` and `output-directory` arguments.\n1. Once the script has completed, the analysis result can be found at `\u003coutput-directory\u003e/analysis.json`.\n\nNote that the Docker image is built using the [.NET IL Linker](https://github.com/dotnet/core/blob/master/samples/linker-instructions.md#using-the-net-il-linker), which is why building can be quite slow.\n\n[analyzer-introduction]: https://github.com/exercism/automated-analysis/blob/master/docs/analyzers/introduction.md\n[analyzer-interface]: https://github.com/exercism/automated-analysis/blob/master/docs/analyzers/interface.md\n[fsharp-compiler-service]: https://fsharp.github.io/FSharp.Compiler.Service/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexercism%2Ffsharp-analyzer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexercism%2Ffsharp-analyzer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexercism%2Ffsharp-analyzer/lists"}