✅ COMPLETE - All Phase 1 features have been implemented!
- Server registry with core servers (sequential-thinking, context7, exa, firecrawl, playwright)
- Basic dependency checking (node, python, uv, docker)
-
ftk initcommand with interactive wizard - Secrets management (.env.mcp.secrets with gitignore integration)
- .mcp.json generation with dotenv-cli wrapper support
- CLAUDE.md augmentation with marker-based inline content
fluent-toolkit/
├── src/
│ ├── main.ts # CLI entry point
│ ├── commands/ # Command handlers
│ │ └── init.ts # ftk init implementation
│ ├── core/ # Core modules
│ │ ├── registry.ts # MCP server registry
│ │ ├── config.ts # Config read/write
│ │ ├── dependencies.ts # Dependency checking
│ │ ├── secrets.ts # .env.mcp.secrets management
│ │ └── claude-md.ts # CLAUDE.md augmentation
│ ├── services/ # Service layer
│ │ └── template-renderer.ts # Template rendering
│ ├── ui/ # User interface
│ │ └── prompts.ts # Interactive prompts
│ └── types/ # TypeScript definitions
│ └── index.ts # Type definitions
├── registry/
│ ├── index.ts # Registry discovery
│ └── mcp-servers/ # Modular server definitions
│ ├── sequentialthinking/
│ ├── context7/
│ ├── exa/
│ └── basic-memory/
├── Formula/ # Homebrew formula
│ └── fluent-toolkit.rb
├── docs/ # Documentation
│ ├── README.md # Documentation index
│ ├── archive/ # Historical documents
│ │ ├── design.md # Design decisions
│ │ ├── research.md # Research notes
│ │ └── refactoring.md # Refactoring summary
│ └── ...
├── deno.json # Deno configuration
├── README.md # Project documentation
├── CLAUDE.md # AI assistant instructions
└── context/ # AI context directory (gitignored)
deno task devdeno task dev initdeno task dev init --help
deno task dev init --force
deno task dev init --skip-validation
deno task dev init --servers sequential-thinking,context7deno task compileThis creates bin/ftk executable.
deno task fmtdeno task lint- Create a new test directory:
mkdir ~/test-ftk-project
cd ~/test-ftk-project- Run ftk init:
cd ~/src/spantree-fluent/fluent-toolkit
deno task dev init-
Follow the interactive prompts to select servers and provide API keys
-
Verify the generated files:
ls -la ~/test-ftk-project
cat ~/test-ftk-project/.mcp.json
cat ~/test-ftk-project/CLAUDE.md
cat ~/test-ftk-project/.env.mcp.secrets
cat ~/test-ftk-project/.ftk/config.json- Start Claude Code and verify MCP servers load:
cd ~/test-ftk-project
claudeThe server registry uses a modular architecture where each server is defined in its own directory under registry/mcp-servers/. Available MCP servers:
- sequential-thinking: Enhanced reasoning (core)
- context7: Library documentation (core)
- exa: Web research (optional, requires API key)
- firecrawl: Web scraping (optional, requires API key)
- playwright: Browser automation (optional)
Dual-layer configuration:
- User-level:
~/.ftk/config.json(global preferences) - Project-level:
.ftk/config.json(project-specific)
MCP configuration:
.mcp.jsonin project root- Uses dotenv-cli wrapper for servers requiring secrets
- Secrets stored in
.env.mcp.secrets(gitignored automatically) - dotenv-cli injects secrets at MCP server runtime
- Prevents credential exposure in version control
Uses marker-based inline content approach (validated in test project):
<!-- ftk:begin:mcp-overview -->
## MCP Servers Configuration
...
<!-- ftk:end:mcp-overview -->This allows ftk to manage specific sections without clobbering user content.
-
ftk doctorcommand for diagnostics - Advanced validation with custom validators
- Installation assistance (auto-run install commands)
- Better error messages
- Progress indicators for long operations
-
ftk update-registrycommand (git sparse checkout) - Registry version compatibility checking
- Custom server definitions (local registry)
-
ftk plugin createcommand - Bundle MCP servers + slash commands + hooks
-
ftk plugin publishfor marketplace
-
ftk agent createcommand - Agent loop templates
- Deep Researcher agent
- Writing Coach agent
When adding new features:
- Update type definitions in
src/types/index.ts - Implement core functionality in appropriate module
- Add CLI command in
src/commands/ - Update registry if adding new servers
- Test manually before committing
- Update this document with new features
See archive/design.md for detailed architecture decisions and rationale.
See archive/research.md for research on Claude Code plugins, Agent SDK, and CLAUDE.md behavior.