Skip to main content

FSC Assistant

Version Python License

Overview

FSC Assistant (Fully Self-Coding Assistant) is a powerful command-line tool that leverages Large Language Models to help you build software with ease. It provides an interactive AI-powered shell for coding assistance, document analysis, web scraping, and seamless integration with external services like JIRA and GitHub.

Key Features

  • 🤖 Interactive AI Shell - Chat with LLMs in a rich terminal interface
  • 📁 File Operations - Read, write, and analyze files and projects
  • 🌐 Web Scraping - Fetch webpages, take screenshots, search Google
  • 🔗 Service Integrations - JIRA and GitHub integration
  • ⚡ Blazing Fast - Optimized startup (0.92s, 93% faster than v0.0.1)
  • 🛠️ Developer Tools - Execute shell commands, manage conversation history
  • 🎨 Rich Output - Beautiful Markdown rendering in the terminal

Quick Start

Installation

# Clone the repository
git clone https://github.com/devsunny/fsc-assistant.git
cd fsc-assistant

# Install in development mode
pip install -e .

# Install with optional dependencies (recommended)
pip install 'fsc-assistant[web]'
playwright install chromium

Configuration

Create a configuration file at ~/.fsc-assistant.env.toml:

[llm]
default_model = "claude-3-5-sonnet-20241022"
max_completion_tokens = 8192
provider = "anthropic"

[anthropic]
api_key = "your-anthropic-api-key"
base_url = 


[openai]
api_key = "your-openai-api-key"
base_url = 

Basic Usage

# Start the interactive shell
fsc-assistant shell

# Or use Python module
python -m assistant.agents.shell

Usage Examples

Interactive Shell

Once in the shell, you can:

# Ask about your code
Explain how the shell.py file works

# Analyze documents
Summarize the docs/proposals/ directory

# Execute system commands
!ls -la
!git status

# Web operations


# Integration with external services
Create a JIRA issue in project PROJ with title "Bug fix needed"
Create a GitHub PR from branch feature-branch to main

# Manage conversation
history          # Show conversation history
clear            # Clear screen
exit             # Exit shell

Special Commands

Command Description
!command Execute system command
exit/quit/q/bye Exit the shell
clear Clear the screen
history Show conversation history
model Show current LLM model

Architecture

Core Components

src/assistant/
├── agents/           # AI Agent implementations
│   ├── shell.py     # Interactive shell (main entry)
│   ├── agent_repo.py # Tool repository (lazy loaded)
│   ├── tools/       # Core tools (file, system, time)
│   ├── web/         # Web scraping tools
│   └── integrations/ # JIRA, GitHub integrations
├── cli.py           # CLI entry point
├── config/          # Configuration management
├── llm/            # LLM orchestration
└── utils/          # Utility functions

Performance Optimized

The assistant is highly optimized for fast startup:

  • Lazy Loading: Heavy modules (Google API, JIRA, GitHub) load only when used
  • Smart Imports: Explicit imports avoid unnecessary loading
  • Caching: Tool lists and configurations cached after first access

Performance Metrics:

  • Startup time: 0.92s (93% improvement from v0.0.1)
  • Memory footprint: Minimal (only load what's needed)
  • File operations: 52% reduction in system calls

Tool Reference

File System Tools

Tool Description
save_text_file_to_disk Save text content to a file
load_text_file_from_disk Load text content from a file
save_binary_file_to_disk Save binary content to a file
load_image_files_from_disk Load image files
list_files_in_current_project List all files in project
get_current_project_root_folder Get project root directory

System Tools

Tool Description
run_shell_command Execute shell commands interactively
get_current_local_time Get current local time with timezone

Web Tools

Tool Description
fetch_webpage_content Extract content from webpages
capture_web_page_screenshot Take screenshots of webpages
download_web_file_from_url Download files from URLs
search_google_custom_api Search Google with custom API

Integration Tools

Tool Description
get_jira_issue Get JIRA issue details
update_jira_issue_status Update JIRA issue status
add_jira_comment Add comment to JIRA issue
create_jira_issue Create new JIRA issue
create_github_pull_request Create GitHub pull request

Configuration

Configuration File

The assistant uses a TOML configuration file (.fsc-assistant.env.toml):

[llm]
default_model = "claude-3-5-sonnet-20241022"
max_completion_tokens = 8192
temperature = 0.7

[llm.anthropic]
api_key = "sk-ant-..."

[llm.openai]
api_key = "sk-..."

[google]
api_key = "your-google-api-key"
search_engine_id = "your-search-engine-id"

[jira]
server = "https://your-domain.atlassian.net"
username = "your-email@example.com"
api_token = "your-jira-api-token"

[github]
token = "ghp_..."

Environment Variables

  • FSC_ASSISTANT_CONFIG - Path to custom config file
  • ANTHROPIC_API_KEY - Anthropic API key
  • OPENAI_API_KEY - OpenAI API key
  • DEBUG - Enable debug mode (true/false)

Installation Options

Minimal Installation

pip install -e .

With Web Scraping

pip install 'fsc-assistant[web]'
playwright install chromium

Full Installation

pip install 'fsc-assistant[all]'
playwright install chromium

Development Installation

git clone https://github.com/yourusername/fsc-assistant.git
cd fsc-assistant
pip install -e ".[dev]"

Development

Project Structure

fsc-assistant/
├── src/assistant/          # Main package
│   ├── agents/            # AI agents and tools
│   ├── cli.py             # CLI entry point
│   ├── config/            # Configuration
│   ├── llm/              # LLM orchestration
│   ├── mcp/              # Model Context Protocol
│   └── utils/            # Utilities
├── docs/                  # Documentation
│   └── proposals/        # Architecture proposals
├── tests/                # Test suite
├── pyproject.toml        # Project configuration
└── README.md            # This file

Running Tests

# Run all tests
pytest

# Run with coverage
pytest --cov=src/assistant

# Test startup performance
python verify_optimizations.py

# Performance analysis
python analyze_performance.py

Code Quality

# Format code
black src/

# Type checking
mypy src/

# Linting
flake8 src/

Recent Updates

v0.1.0 (Current)

Performance Improvements

  • ⚡ 93% faster startup (13.7s → 0.92s)
  • 🚀 Lazy loading for heavy dependencies
  • 📉 52% reduction in file system operations
  • 🎯 Optimized import patterns

New Features

  • 🔍 Google Custom Search API integration
  • 📄 Enhanced document analysis
  • 🎨 Rich Markdown output in terminal
  • 🛡️ Improved error handling

Bug Fixes

  • Fixed import loops and circular dependencies
  • Improved error messages for missing dependencies
  • Better handling of missing configuration

Contributing

We welcome contributions! Please see our Contributing Guide for details.

Quick Contribution Steps

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests for new functionality
  5. Run the test suite (pytest)
  6. Submit a pull request

Roadmap

Planned Features

  • Plugin System - Extensible tool architecture
  • More LLM Providers - Gemini, Llama, etc.
  • Database Integration - PostgreSQL, MySQL support
  • Advanced Web Scraping - JavaScript rendering, forms
  • Team Collaboration - Shared configurations and history
  • IDE Integration - VS Code extension
  • Cloud Storage - S3, GCS, Azure integration

Long-term Vision

  • AI-Powered Development - End-to-end software development assistance
  • Multi-modal Support - Image and code analysis
  • Project Generation - Scaffold entire projects from descriptions
  • Smart Refactoring - AI-assisted code refactoring
  • Documentation Generation - Auto-generate docs from code

Troubleshooting

Common Issues

Slow Startup

If startup is slow (>2s), check:

  • Are you using the latest version? (pip install -U fsc-assistant)
  • Is lazy loading working? (python -c "from assistant.agents.shell import AgenticShell; print('OK')")
  • Are there unnecessary imports in your config?

Missing Dependencies

# Install missing web dependencies
pip install 'fsc-assistant[web]'
playwright install chromium

# Install all optional dependencies
pip install 'fsc-assistant[all]'

Configuration Issues

# Check config file location
echo $FSC_ASSISTANT_CONFIG

# Validate config syntax
python -c "import toml; toml.load('.fsc-assistant.env.toml')"

Getting Help

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Thanks to all contributors who have helped shape this project
  • Inspired by the need for better AI-assisted development tools
  • Built with amazing open-source libraries and tools

Happy Coding! 🤖✨

For more information, check out our documentation and examples.

Metadata

Release files for fsc-assistant 0.1.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fsc-assistant 0.1.11
File Size Uploaded
fsc_assistant-0.1.11.tar.gz 99.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fsc-assistant 0.1.11
File Interpreter ABI Platform
fsc_assistant-0.1.11-py3-none-any.whl Python 3 none any Details

Total release size: 209.4 kB

Release files / fsc_assistant-0.1.11.tar.gz

Download URL fsc_assistant-0.1.11.tar.gz
Size 99.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1bb07193f71c4520da155891eee9cbe8e5ec9272ab28fd656d661a78632502e2
BLAKE2b-256 checksum
How to use checksums
c8e7c0b3af6204618202a2ddec86f9448f4b338e776891736aa9b33b1d245e13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 25, 2025.

Transparency log

Release files / fsc_assistant-0.1.11-py3-none-any.whl

Download URL fsc_assistant-0.1.11-py3-none-any.whl
Size 110.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
083833e7f56c013ec1bb3f304d555be5c324c6fc1d67443fbafe091e49f7efb8
BLAKE2b-256 checksum
How to use checksums
e0af4359e06c40df02be21ad1515a8b4bf5c31b5fd5225a73f25df215d377fc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 25, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.11 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page