FunctionBodyRemover 1.0.0
dotnet add package FunctionBodyRemover --version 1.0.0
NuGet\Install-Package FunctionBodyRemover -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FunctionBodyRemover" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FunctionBodyRemover" Version="1.0.0" />
<PackageReference Include="FunctionBodyRemover" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FunctionBodyRemover --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FunctionBodyRemover, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FunctionBodyRemover@1.0.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FunctionBodyRemover&version=1.0.0
#tool nuget:?package=FunctionBodyRemover&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
DevNines Function Body Remover
A powerful .NET 8 library that creates skeleton copies of codebases by intelligently removing function bodies while preserving API signatures, interfaces, and project structure.
🚀 Key Features
- Multi-Language Support: C#, JavaScript, Java, Python
- Smart Processing: Preserves method signatures, properties, attributes, and comments
- Directory Structure: Maintains original folder hierarchy
- Configurable Filtering: Exclude specific directories and file patterns
- Performance Optimized: Async processing with cancellation token support
📦 Installation
dotnet add package FunctionBodyRemover
🛠️ Quick Start
Basic Usage
using FunctionBodyRemover.Extensions;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
// Configure services
var host = Host.CreateDefaultBuilder()
.ConfigureServices((context, services) =>
{
services.AddFunctionBodyRemover();
})
.Build();
// Get the file processor
var fileProcessor = host.Services.GetRequiredService<IFileProcessor>();
// Process a directory
await fileProcessor.ProcessDirectoryAsync(
sourcePath: @"C:\MyProject",
destinationPath: @"C:\MyProject_Skeleton"
);
Custom Configuration
services.AddFunctionBodyRemover(options =>
{
options.PreserveComments = true;
options.PreserveAttributes = true;
options.ExcludedDirectories = new[] { "bin", "obj", "tests" };
options.ExcludedFilePatterns = new[] { "*.min.js", "*.d.ts" };
});
🔄 Before and After Example
Original C# Code:
public class UserService : IUserService
{
[Authorize]
public async Task<User> GetUserAsync(int id)
{
var user = await _repository.GetByIdAsync(id);
if (user == null)
throw new UserNotFoundException($"User {id} not found");
return _mapper.Map<User>(user);
}
}
Processed Skeleton Code:
public class UserService : IUserService
{
[Authorize]
public async Task<User> GetUserAsync(int id)
{
throw new NotImplementedException();
}
}
🎯 Use Cases
- API Documentation: Create clean API reference without implementation details
- Code Architecture Review: Share code structure without sensitive business logic
- Learning Resources: Generate skeleton code for educational purposes
- Code Analysis: Focus on interfaces and signatures for architectural analysis
🌟 Supported Languages
Language | Extensions | Features Preserved |
---|---|---|
C# | .cs |
Methods, Properties, Attributes, XML Comments |
JavaScript | .js |
Functions, Classes, JSDoc Comments |
Java | .java |
Methods, Classes, Annotations, Javadoc |
Python | .py |
Functions, Classes, Decorators, Docstrings |
📚 Documentation
- GitHub Repository: DevNines/FunctionBodyRemover
- API Reference: Available in the repository wiki
- Sample Projects: Check the examples folder
🤝 Support
- Issues: Report bugs or request features
- Email: support@devnines.com
Made with ❤️ by the DevNines Team
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Options (>= 8.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.0.0 | 146 | 8/8/2025 |