Skip to content

Shanky0007/Report-Writer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advanced Report Writer AI (Node.js)

An intelligent academic assistant that generates complete, human-like academic reports from various input formats while maintaining authenticity and bypassing AI detection.

Features

  • Dynamic Input Format Handling: Accepts plain text, bullet points, CSV, JSON, YAML, Q&A format
  • Smart Report Generation: Auto-structures reports with proper academic sections
  • Humanization Layer: Makes output sound naturally written by humans
  • AI Detection Shield: Implements linguistic variation to bypass AI detectors
  • Multiple Citation Formats: APA, MLA, IEEE, Chicago, Harvard support
  • Flexible Export: DOCX, PDF, Markdown, TXT outputs

Installation

npm install

Configuration

Create a .env file in the root directory:

GOOGLE_API_KEY=your_google_gemini_api_key_here
# or
GEMINI_API_KEY=your_google_gemini_api_key_here

DEFAULT_MODEL=gemini-2.5-pro

Get your free Google Gemini API key from: https://makersuite.google.com/app/apikey

Usage

Command Line Interface

# Generate from plain text
node src/cli.js generate --input "Climate change impacts on agriculture" --format APA --words 1500

# Generate from structured input file
node src/cli.js generate --file data/input.json --format MLA --tone formal

# Interactive mode
node src/cli.js interactive

# Generate with specific sections
node src/cli.js generate --input "AI in Healthcare" --sections "Abstract,Introduction,Analysis,Conclusion" --output report.docx

JavaScript API

import { ReportWriter } from './src/core/ReportWriter.js';

const writer = new ReportWriter();

const report = await writer.generate({
    input: "Your topic or structured data",
    format: "APA",
    wordCount: 2000,
    tone: "academic",
    sections: ["Abstract", "Introduction", "Analysis", "Conclusion"]
});

// Export
await report.export("output.docx");
await report.export("output.pdf");
await report.export("output.md");

// Get detection safe score
const score = report.getDetectionSafeScore();
console.log(`Human-likeness score: ${score}/100`);

Project Structure

reportWriter/
├── package.json
├── .env
├── src/
│   ├── index.js               # Main entry point
│   ├── cli.js                 # CLI interface
│   ├── config/
│   │   ├── settings.js        # Configuration
│   │   └── prompts.js         # System prompts
│   ├── core/
│   │   ├── ReportWriter.js    # Main class
│   │   ├── InputParser.js     # Input format detection
│   │   ├── ReportGenerator.js # Report generation engine
│   │   ├── Humanizer.js       # Humanization layer
│   │   └── DetectorShield.js  # AI detection bypass
│   ├── utils/
│   │   ├── CitationManager.js # Citation formatting
│   │   ├── ExportHandler.js   # Export utilities
│   │   ├── TextAnalyzer.js    # Text quality analysis
│   │   └── Validators.js      # Input validation
│   ├── templates/
│   │   ├── reportStructures.json
│   │   └── citationStyles.json
│   └── services/
│       ├── AIService.js       # AI API integration
│       └── CitationAPI.js     # Citation fetching
├── outputs/                   # Generated reports
├── tests/                     # Test files
└── examples/                  # Example inputs

API Examples

Basic Report Generation

const writer = new ReportWriter();
const report = await writer.generate({
    input: "Machine Learning in Healthcare",
    wordCount: 2000
});

Advanced Configuration

const report = await writer.generate({
    input: {
        topic: "Climate Change",
        bullets: [
            "Causes of climate change",
            "Impact on ecosystems",
            "Mitigation strategies"
        ]
    },
    format: "APA",
    wordCount: 3000,
    tone: "research",
    sections: ["Abstract", "Introduction", "Literature Review", "Analysis", "Conclusion"],
    humanization: "high",
    detectionShield: true,
    includeReferences: true
});

Export Multiple Formats

await report.exportAll("my-report"); // Generates .docx, .pdf, .md

Configuration

Edit src/config/settings.js to customize:

  • Default citation style
  • Word count ranges
  • Tone preferences
  • AI detection thresholds
  • Humanization levels

Testing

npm test

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published