Introduction
Welcome to the official documentation for the open-sourced Appbox frontend.
Welcome to the Appbox Documentation
We're excited to announce that the frontend for Appbox is now open-sourced at GitHub. Our aim is to foster a collaborative community that contributes to documentation, develops new frontend features, and helps improve the overall Appbox experience.
While our documentation is still in the early stages, we're working to build a comprehensive resource similar to other platforms in our space. Currently, our docs primarily focus on contribution guidelines, but we plan to expand with detailed information for all apps available on Appbox.
Until our documentation grows more robust, please visit our legacy knowledge base for immediate questions about specific apps or services. If you need technical support, you can submit a ticket for assistance. You can always access these new docs via the link in our site's footer to check our progress as we expand.
Future Plans
- In-Depth App Guides
Covering installation, troubleshooting, and tips for each of the apps supported on our platform. - User & Developer Resources
Providing everything from beginner-friendly tutorials to advanced code references for customizing your Appbox experience. - Community-Driven Content
Encouraging pull requests, feedback, and suggestions—all are welcome and help grow this project for everyone.
Getting Started
If you want to check out or contribute to our open-sourced frontend code, clone the Appbox repository:
git clone https://github.com/appbox-co/appbox.git
Then navigate into the project and install its dependencies:
cd appbox
pnpm install
pnpm dev
Your local instance will be available at http://localhost:3000
. Feel free to explore, make changes, and create pull requests. We appreciate every contribution!
Development Tools
Linting
The project comes with comprehensive linting setup using ESLint with TypeScript and Prettier integration. This ensures consistent code style and helps catch common errors early. You can run the linting checks manually:
# Run linting
pnpm lint
# Fix automatically fixable issues
pnpm lint:fix
Our ESLint configuration includes:
- TypeScript-specific rules via
@typescript-eslint
- Next.js specific linting with
eslint-config-next
- Code formatting with Prettier integration
Pre-commit Hooks
We use Husky to manage Git hooks, which helps ensure only quality code is committed to the repository. The following hooks are set up:
- pre-commit: Runs
lint:fix
before each commit to ensure code quality - commit-msg: Uses commitlint to enforce conventional commit message formatting
This means your commits will be checked for code quality and proper formatting automatically before they're accepted, maintaining a high standard throughout the codebase.
Making Pull Requests
When you're ready to contribute your changes, follow these guidelines to make your Pull Request (PR) more likely to be accepted:
Before Creating a PR
-
Rebase from the latest main branch to avoid merge conflicts:
git checkout main git pull origin main git checkout your-branch git rebase main
-
Ensure all linting passes:
pnpm lint:fix
-
Make sure your code works locally by testing the relevant functionality.
PR Guidelines
- Keep PRs focused - Address one issue or feature per PR.
- Write clear commit messages - Following the conventional commit format.
- Include clear descriptions - Explain what your PR does and why it's needed.
- Add tests - Where applicable, add tests to verify your changes work correctly.
- Document your code - Use comments for complex logic and ensure function names are descriptive.
- Follow existing patterns - Your code should match the style and patterns used in the rest of the codebase.
For significant changes, consider opening an issue first to discuss the approach before investing time in coding. This helps ensure your contribution aligns with the project's direction and avoids wasted effort.