Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
# Keep all client-exposed variables prefixed with VITE_.

VITE_APP_NAME=Forge
VITE_APP_URL=https://forge-orcace.duckdns.org
VITE_APP_URL=https://forge.cuthanhcam.workers.dev
143 changes: 103 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,92 @@
# Forge

```
███████╗ ██████╗ ██████╗ ██████╗ ███████╗
██╔════╝██╔═══██╗██╔══██╗██╔════╝ ██╔════╝
█████╗ ██║ ██║██████╔╝██║ ███╗█████╗
██╔══╝ ██║ ██║██╔══██╗██║ ██║██╔══╝
██║ ╚██████╔╝██║ ██║╚██████╔╝███████╗
╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝
```
Forge is a local-first developer workstation for the small but constant tasks
that happen between writing code and shipping it.

Use it to preview Markdown and HTML, compare text, format JSON, inspect JWTs,
encode data, generate secrets, test regular expressions, and clean up everyday
developer input without jumping across unrelated tabs.

![Forge home screen](docs/assets/forge-home.png)

## Why Forge Exists

Developers often handle sensitive, temporary, messy text:

- JWTs copied from logs
- JSON payloads from APIs
- YAML configuration snippets
- URLs that need decoding
- secrets that need generating
- text that needs comparing before a commit
- timestamps, UUIDs, slugs, hashes, and regex checks

Forge keeps these tasks in one calm interface with consistent controls,
keyboard-friendly navigation, and a privacy-first model.

## Highlights

- **Local-first workflows**
Core tools run in the browser. Sensitive input stays close to your device.

- **One product language**
Tools share the same layout patterns, copy actions, toolbar behavior,
keyboard shortcuts, and visual system.

- **Fast command access**
Open the command palette with `Ctrl K` and jump directly to a tool.

- **Light, dark, and system themes**
The dark theme is tuned for a soft Forge palette rather than pure black.

- **Useful by default**
Tools include realistic examples, validation states, copy/export actions, and
workspace persistence where it helps.

## Tools

Forge is a fast, privacy-first developer toolbox.
### Editors

The project is designed as a browser-based developer workstation: tools are
registered once, discovered through the registry, and surfaced consistently in
navigation, search, routing, favorites, and recent tools.
- Markdown Preview
- HTML Preview
- Diff Checker

## Status
### Data

Forge is in early foundation work. The architecture, contributor workflow, and
tool conventions are being established before the first stable release.
- JSON Formatter
- JSON YAML Converter
- JWT Decoder

## Features
### Encoding

- Browser-only developer tools with no backend requirement for core workflows
- Registry-driven tool model
- Keyboard-first UX and command palette direction
- Persistent workspace primitives
- Privacy-first local execution
- Base64
- URL Encoder

## Getting Started
### Crypto

- JWT Secret Generator
- Hash Generator
- Password Generator

### Utilities

- UUID Generator
- Timestamp Converter
- Case Converter
- Slugify
- Regex Tester

## Documentation

- [Documentation home](docs/README.md)
- [Product overview](docs/product.md)
- [Tool guide](docs/tools.md)
- [Privacy model](docs/privacy.md)
- [Keyboard shortcuts](docs/shortcuts.md)
- [Deployment notes](docs/deployment.md)
- [Support](docs/support.md)

## Local Development

Requirements:

Expand All @@ -47,34 +105,39 @@ Start the development server:
pnpm dev
```

Run quality checks:
Run the quality gate:

```bash
pnpm check
```

## Documentation
Build for production:

```bash
pnpm build
```

## Deployment

Forge is a static Vite app. Any static host can serve it after `pnpm build`.

For single-page app routing, configure the host to fall back every route to
`index.html`. This keeps routes such as `/tools/jwt-decoder`, `/privacy`, and
`/terms` working after refresh.

- [Architecture](docs/architecture.md)
- [Contributing](docs/contributing.md)
- [Adding a new tool](docs/adding-a-new-tool.md)
- [Coding conventions](docs/coding-conventions.md)
- [Roadmap](docs/roadmap.md)
## Privacy

## Project Principles
Forge is designed for sensitive developer workflows. The core tools process
input locally in the browser and do not require an account or backend service.

- Registry first
- Feature isolation
- Shared UI primitives
- Strict TypeScript
- No direct `localStorage` access from feature modules
- Tools run entirely in the browser whenever possible
Read more in [docs/privacy.md](docs/privacy.md).

## Contributing
## Support

Please read [docs/contributing.md](docs/contributing.md) before opening a pull
request. New tools should follow [docs/adding-a-new-tool.md](docs/adding-a-new-tool.md).
- Ask a question: [docs/support.md](docs/support.md)
- Report an issue: [github.com/orcace/forge/issues](https://github.com/orcace/forge/issues)
- Share feedback: [docs/support.md](docs/support.md)

## License

MIT License
MIT License. See [LICENSE](LICENSE).
26 changes: 26 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Forge Documentation

Welcome to the public documentation for Forge.

Forge is a browser-based developer workstation for everyday text, data,
encoding, crypto, and utility workflows. It is built around a local-first model
so developers can work with sensitive snippets without sending them through a
collection of unrelated websites.

## Start Here

- [Product overview](product.md)
- [Tool guide](tools.md)
- [Privacy model](privacy.md)
- [Keyboard shortcuts](shortcuts.md)
- [Deployment notes](deployment.md)
- [Support](support.md)

## Documentation Goals

These docs are written for people using Forge, evaluating Forge, or deploying
their own copy. They explain what the product does, what data it handles, and
how to use it safely.

Development and implementation notes can live elsewhere when needed; this
folder should stay focused on Forge as a product.
147 changes: 0 additions & 147 deletions docs/adding-a-new-tool.md

This file was deleted.

Loading
Loading