{"id":20688817,"url":"https://github.com/71/feather","last_synced_at":"2026-05-08T06:49:10.167Z","repository":{"id":95480834,"uuid":"136649537","full_name":"71/Feather","owner":"71","description":"Strip all references to FSharp.Core from a .NET assembly at compile-time, using Fody.","archived":false,"fork":false,"pushed_at":"2018-07-09T21:47:17.000Z","size":25,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-09T14:12:09.723Z","etag":null,"topics":["cil","csharp","dotnet","fody","fsharp"],"latest_commit_sha":null,"homepage":null,"language":"F#","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/71.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2018-06-08T17:47:14.000Z","updated_at":"2018-07-09T21:47:18.000Z","dependencies_parsed_at":"2023-04-25T01:21:30.924Z","dependency_job_id":null,"html_url":"https://github.com/71/Feather","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/71/Feather","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/71%2FFeather","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/71%2FFeather/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/71%2FFeather/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/71%2FFeather/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/71","download_url":"https://codeload.github.com/71/Feather/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/71%2FFeather/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001871,"owners_count":26083197,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["cil","csharp","dotnet","fody","fsharp"],"created_at":"2024-11-16T23:07:10.838Z","updated_at":"2025-10-09T17:35:32.777Z","avatar_url":"https://github.com/71.png","language":"F#","funding_links":[],"categories":[],"sub_categories":[],"readme":"Feather.Fody\n============\n\nFeather strips all references to [FSharp.Core](https://www.nuget.org/packages/FSharp.Core)\nfrom any .NET assembly, by either removing useless attributes and methods or by\nreplacing them with built-in equivalents.\n\nFeather works fully at compile-time (using [Fody](https://github.com/Fody/Fody)), and thus\ndoes not require any runtime dependency.\n\nTherefore, Feather can be used to code in F#, while having outputs assembly that do not\nrequire any extra dependencies, and can thus be used directly within C# projects without\nrequiring [FSharp.Core](https://www.nuget.org/packages/FSharp.Core).\n\n**It is currently a work in progress.** Right now, all references to FSharp.Core are merely\nremoved; no equivalent function calls are used.\n\n## Installing\n\u003e The NuGet package has not been published yet. However, as soon as it will be online, the\n\u003e following will apply to the installation process of Feather.\n\nAdd a dependency to your project:\n```xml\n\u003cItemGroup\u003e\n  \u003cPackageReference Include=\"Feather.Fody\" Version=\"0.1.0\" /\u003e\n\u003c/ItemGroup\u003e\n```\n\nThen, install the Feather weaver by creating a `FodyWeavers.xml` file and setting its content\nto:\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\" ?\u003e\n\u003cWeavers\u003e\n  \u003cFeather /\u003e \n\u003c/Weavers\u003e\n```\n\n## Process\nSee the [implementation issue](https://github.com/6A/Feather/issues/1) for progress details.\n\n## Testing\nA test assembly is available in the [Feather.TestAssembly](./Feather.TestAssembly) directory,\nand contains many declarations that make use of F#-specific features.\n\nThis assembly is modified by [Feather.Fody](./Feather.Fody) on compilation, and should then\nlose all its references to [FSharp.Core](https://www.nuget.org/packages/FSharp.Core).\n\nThe [Feather.Tests](./Feather.Tests) projects finally ensures that both these statements are true:\n- `Feather.TestAssembly.dll` does not contain **any** reference to `FSharp.Core`.\n- `Feather.TestAssembly.dll` can be loaded, and works flawlessly.\n\n## Contributing\n### Adding tests\n1. Add test cases to [Feather.TestAssembly](./Feather.TestAssembly).\n2. Make sure they work after removal of all F# references in [Feather.Tests](./Feather.Tests).\n\n### Adding replacements\n1. Grab [dnSpy](https://github.com/0xd4d/dnSpy) to analyze output assemblies.\n2. Find a common pattern or specific use.\n3. Implement a replacement in [ModuleWeaver.cs](./Feather.Fody/ModuleWeaver.cs).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F71%2Ffeather","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F71%2Ffeather","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F71%2Ffeather/lists"}