Contributing a Tool¶
Build a browser-based data tool and publish it on FreeDataStore.
Requirements¶
- Tool must run entirely in the browser (no server-side processing)
- Must use
@freedatastore/sdkfor data operations (or vendor the SDK source) - MIT license
- Dark theme matching the store design system
Quick start¶
# Clone template
git clone https://github.com/freedatastore-online/template-data-tool my-tool
cd my-tool
# Install
pnpm install
# Develop
pnpm dev # opens http://localhost:5173
# Build
pnpm build # outputs to dist/
Project structure¶
my-tool/
├── web/
│ ├── index.html # Entry point
│ └── src/
│ ├── main.ts # App logic
│ ├── style.css # Styles (use CSS vars from template)
│ └── sdk/ # Vendored SDK modules
├── package.json
├── vite.config.ts
├── tsconfig.json
└── .gitignore
Publishing¶
# Install CLI
npm install -g @freedatastore/cli
# Check compliance
fdts check
# Publish
fdts publish
Or open a PR to freedatastore-online/platform with your tool added to the registry.
Design system¶
Use these CSS variables for consistency:
:root {
--bg: #0a0a0f;
--surface: #12121a;
--surface-2: #1a1a25;
--border: #2a2a3a;
--text: #e8e8ef;
--text-2: #8888a0;
--accent: #0ea5e9;
--accent-light: #38bdf8;
--green: #00b894;
--red: #ff6b6b;
--yellow: #ffd93d;
}