Adding a new TIP
Adding a TIP is not hard, but there are a few steps involved. The process will become even simpler as the system matures.
TIPs are maintained in a fossil source code repository. The following steps are required to set up an environment to create and edit TIPs.
Download fossil if you do not already have it set up on your system. It is distributed as a single file executable so installation consists of simply placing it in some suitable directory in your
Create a user account on the TIP repository if you do not have one already. You can create one yourself, but the administrator needs to assign you commit privileges.
Clone the repository into a suitable directory. For example,
cd ~/repos fossil clone https://USERNAME@core.tcl.tk/tips tips.fossil
Checkout the TIP sources into your working directory with the fossil
cd ~/tips fossil open ~/repos/tips.fossil
The text of all the TIPs is in the
tip subdirectory and formatted
using the Markdown language.
Adding the new TIP
To add a new TIP,
Create a file in the
tipsubdirectory. Choose a name of the format
NNN.md, for example 467.md. The TIP numbering is currently not enforced by the system, so pick the next unused number based on the current TIPs.
TIP 2 specifies guidelines for writing a TIP. Write up the text, using Markdown mark-up (plenty of examples are available - pay attention to the header as described below). NOTE: if you already have the TIP text written in the old TIP format, you can use the
tip2md.tclscript in the
scriptssubdirectory to convert it to Markdown.
Add the file to the fossil repository
fossil add NNN.md
Then, in the subdirectory
scripts, run the
mkhtmlindex.tclscript, as this updates the Home page.
Submit all changes via fossil (this includes
fossil commit -m "Added TIP NNN"
The index script requires a special format for meta-data in the TIP header. For example:
# TIP 0: Tcl Core Team Basic Rules State: Final Type: Process Vote: Done Post-History: ------
The meta-data is terminated by
------ and indented with tabs
(for nicer display in fossil).
See TIP 3 for a detailed specification of the header format and meaning of each header field.