diff --git a/.gitignore b/.gitignore
index b0fe715..0a6765e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
node_modules
docs/.vitepress/cache
docs/.vitepress/dist
+chunks.json
# OS files
.DS_Store
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 3e84c8c..a8f9961 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,6 +1,6 @@
# Contributing to LNbits Docs
-Thanks for helping improve the documentation. Every fix, tutorial, and FAQ answer makes LNbits easier to use.
+Thanks for helping improve LNbits. Every fix, tutorial, and FAQ answer makes LNbits easier to use.
## Quick wins
@@ -32,8 +32,19 @@ Extension pages in `docs/extensions/` are auto-generated from each extension's G
Not sure where to start? The [Contribute page](https://docs.lnbits.com/contribute/) has role-specific guides for developers, testers, writers, designers, entrepreneurs, and ambassadors.
+## Labels that surface work to contributors
+
+The [Contribute page](https://docs.lnbits.com/contribute/) links to filtered views of open issues and PRs on [`lnbits/lnbits`](https://github.com/lnbits/lnbits). Three labels power those views - apply them when opening or triaging so your issue or PR shows up for the right audience:
+
+- [`good first issue`](https://github.com/lnbits/lnbits/labels/good%20first%20issue) - Small, well-scoped tasks suitable for a first-time contributor. Use sparingly: the issue must be solvable without deep project context.
+- [`needs-testing`](https://github.com/lnbits/lnbits/labels/needs-testing) - A PR or issue that needs community testing (run it locally, exercise the feature, report back) before it can be merged or closed. This is distinct from `awaiting review`, which is for maintainer code review.
+- [`design`](https://github.com/lnbits/lnbits/labels/design) - UI, UX, or visual design work - mockups, flows, styling, illustrations. Narrower than `frontend`, which covers any user-facing code change.
+
+If you are a maintainer, add these labels as part of triage. If you are opening an issue or PR, suggesting one of these labels in the description is welcome.
+
## Community
- [Telegram](https://t.me/lnbits) - Main community chat
+- [Community Forum](https://community.lnbits.com) - Searchable discussions. Common Forum for all LNbits related questions.
- [GitHub Issues](https://github.com/lnbits/lnbits/issues) - Bug reports
- [GitHub Discussions](https://github.com/lnbits/lnbits/discussions) - Longer questions
diff --git a/docs/.vitepress/config.mjs b/docs/.vitepress/config.mjs
index ccaa1d0..ebffac9 100644
--- a/docs/.vitepress/config.mjs
+++ b/docs/.vitepress/config.mjs
@@ -551,7 +551,7 @@ export default withMermaid(defineConfig({
],
footer: {
- message: 'News · Shop · SaaS · Telegram · Released under the MIT License.',
+ message: 'News · Shop · SaaS · Telegram · Forum · Released under the MIT License.',
copyright: 'Copyright 2018-present LNbits Contributors',
},
@@ -573,7 +573,7 @@ export default withMermaid(defineConfig({
},
editLink: {
- pattern: 'https://github.com/lnbits/lnbits-docs/edit/main/docs/:path',
+ pattern: 'https://github.com/lnbits/docs/edit/main/docs/:path',
text: 'Edit this page on GitHub',
},
},
diff --git a/docs/.vitepress/theme/components/ContributePage.vue b/docs/.vitepress/theme/components/ContributePage.vue
index 3490913..1b2ab26 100644
--- a/docs/.vitepress/theme/components/ContributePage.vue
+++ b/docs/.vitepress/theme/components/ContributePage.vue
@@ -22,6 +22,7 @@ const roles = [
const communityLinks = [
{ name: 'Telegram', url: 'https://t.me/lnbits', icon: 'telegram', desc: 'Chat with the community and core team' },
+ { name: 'Community Forum', url: 'https://community.lnbits.com', icon: 'forum', desc: 'Async, searchable discussions' },
{ name: 'GitHub', url: 'https://github.com/lnbits/lnbits', icon: 'github', desc: 'Report bugs, propose features, submit code' },
{ name: 'Follow on X', url: 'https://x.com/lnbits', icon: 'x', desc: 'Follow for updates and announcements' },
{ name: 'Nostr', url: 'https://primal.net/p/npub10efcj7x65z2ak6vd69xr8f2hvqwuaqrhlygl3yqa4y63hfvc02mqwzaeh3', icon: 'nostr', desc: 'Find us on the decentralized social network' },
@@ -29,7 +30,7 @@ const communityLinks = [
const allFaqItems = [
// ── General (shown for every role) ──
- { q: 'Where do I ask for help?', roles: '*', a: 'The Telegram group is the heartbeat of the community. Core devs, extension builders, and users are all there. For longer questions, open a GitHub Discussion.' },
+ { q: 'Where do I ask for help?', roles: '*', a: 'The Telegram group is the heartbeat of the community - core devs, extension builders, and users are all there. For async, searchable threads use the Community Forum. For longer technical questions, open a GitHub Discussion.' },
{ q: 'Can I get paid for contributing?', roles: '*', a: 'LNbits is volunteer open-source, but there are paths. OpenSats and HRF fund contributors. Extension developers can monetize via pay-to-install in the registry. Some community members tip contributors over Lightning directly.' },
{ q: 'What license does LNbits use?', roles: '*', a: 'MIT. Use it, fork it, sell it, remix it. The only rule is keeping the license notice. See the LICENSE file.' },
@@ -326,7 +327,7 @@ const roleData = {
],
},
{
- num: '02', title: 'What we need', illust: 'tips',
+ num: '02', title: 'Where you can help', illust: 'tips',
desc: 'Pick what excites you. Every area has open opportunities.',
columns: [
{
@@ -339,6 +340,7 @@ const roleData = {
{
label: 'Creative design',
items: [
+ { name: 'Media kit', desc: 'Logos, brand assets, press material', logo: '/logos/lnbits.svg', url: 'https://media.lnbits.com' },
{ name: 'Media repo', desc: 'Existing assets, logos, and creative work', icon: 'devicon-github-original', url: 'https://github.com/lnbits/lnbits_media' },
{ name: 'Blog and news headers', desc: 'Hero images for articles', icon: 'devicon-figma-plain', url: 'https://news.lnbits.com' },
{ name: 'Illustrations for marketing', desc: 'Visuals that help us tell the LNbits story', icon: 'devicon-figma-plain', url: 'https://t.me/lnbits' },
@@ -428,6 +430,7 @@ const roleData = {
{ name: 'LNbits SaaS', url: 'https://my.lnbits.com', badge: 'Launch fast' },
{ name: 'Extension monetization', url: '/dev/extensions/monetization', badge: 'Earn sats' },
{ name: 'Share your story on Telegram', url: 'https://t.me/lnbits' },
+ { name: 'Community Forum', url: 'https://community.lnbits.com' },
{ name: 'GitHub Discussions', url: 'https://github.com/lnbits/lnbits/discussions' },
],
action: { label: 'Get started', url: 'https://my.lnbits.com' },
@@ -503,7 +506,9 @@ const roleData = {
items: [
{ name: 'Create YouTube tutorials', url: 'https://www.youtube.com/@lnbits', badge: 'High impact' },
{ name: 'Share on X', url: 'https://x.com/intent/tweet?text=I%27m+onboarding+merchants+to+Lightning+with+%40lnbits' },
+ { name: 'Media kit', url: 'https://media.lnbits.com', badge: 'Logos and brand assets' },
{ name: 'Telegram community', url: 'https://t.me/lnbits' },
+ { name: 'Community Forum', url: 'https://community.lnbits.com' },
{ name: 'GitHub Discussions', url: 'https://github.com/lnbits/lnbits/discussions' },
],
action: { label: 'Deploy LNbits now', url: '/guide/installation/' },
@@ -1081,6 +1086,7 @@ onUnmounted(() => {